Python Forum
How to return values from For Loop via return in a function
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to return values from For Loop via return in a function
#1
I wrote a function with a for loop for my tensorflow object_detection which shows me the detected images' name inside of my test_images when I press buttons as I see them visually with cv2. However, I cannot return b values when I use return at the end of the function. How can we solve such issue in python (How to return values from For Loop via return in a function) ? thank you very much

def detected_objects_2():
  for image_path in TEST_IMAGE_PATHS:
    image = Image.open(image_path)

    folder_path = "test_images/" #folder path to your images 

    File_Lst = []

    for file in os.listdir(folder_path):
      File_Lst.append(file)
    
    dog_index = File_Lst.index('image1.jpg')           
    dog_str = File_Lst[dog_index]

    img = cv2.imread(folder_path + dog_str )
    cv2.destroyAllWindows()         
    cv2.imshow("Press KEYS to know which direction you want to go with your robot", img)

    image_np = load_image_into_numpy_array(image)
    image_np_expanded = np.expand_dims(image_np, axis=0)
    output_dict = run_inference_for_single_image(image_np, detection_graph)

    a, b = vis_util.visualize_boxes_and_labels_on_image_array(
      image_np,
      output_dict['detection_boxes'],
      output_dict['detection_classes'],
      output_dict['detection_scores'],
      category_index,
      instance_masks=output_dict.get('detection_masks'),
      use_normalized_coordinates=True,
      line_thickness=8)
    plt.figure(figsize=IMAGE_SIZE)
    cv2.destroyAllWindows()
    cv2.imshow("Object Detector", image_np)
    #print(b)
    #if b == 'turnLeft':
      #print("Turn Left !!!")
    #elif b == 'turnRight':
      #print("Turn Right !!!")
    #else:
      #print("NO DETECTION !!!")   
    
    k = cv2.waitKey(0)
    if k == ord('a'): # wait for 'a' key to upload traffic signs one by one
      cv2.destroyAllWindows()
      cv2.imshow("Object Detector", image_np)
      
    elif k == ord('s'):
      cv2.waitKey(0)
      cv2.destroyAllWindows()
      break    
  return b
Reply


Messages In This Thread
How to return values from For Loop via return in a function - by AykutRobotics - Jan-01-2019, 06:16 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Regex find string then return 10 character after it pyStund 6 1,498 Aug-04-2022, 11:26 PM
Last Post: Pedroski55
  Matplotlib scatter plot in loop with None values ivan_sc 1 2,234 Nov-04-2021, 11:25 PM
Last Post: jefsummers
  Sympy nonlinsolve does not return explicit solution axelle 1 2,196 Jan-20-2021, 11:38 AM
Last Post: Serafim
  A function to return only certain columns with certain string illmattic 2 2,171 Jul-24-2020, 12:57 PM
Last Post: illmattic
  Match string return different cell string Kristenl2784 0 1,399 Jul-20-2020, 07:54 PM
Last Post: Kristenl2784
  Basic storage of function values for monte carlo simulation glidecode 1 1,716 Apr-15-2020, 01:41 AM
Last Post: jefsummers
  how to get x values based on y-axis values from curvefit function python_newbie09 1 3,236 Sep-19-2019, 02:09 AM
Last Post: scidam
  Comparing Values Resulting from Function Outputs firebird 0 1,789 Jul-25-2019, 05:16 AM
Last Post: firebird
  Return ERROR when installing pyopencl Helcio_Sarabando 1 4,112 Sep-08-2018, 11:23 PM
Last Post: Larz60+
  Converting days to years in loop while computing values across grid cells Lightning1800 2 2,596 May-15-2018, 08:44 PM
Last Post: Lightning1800

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020