====== Object Detection with Tensorflow, OpenCV, ImageAI and YOLO ====== ===== Requirements: ===== Be sure to have the [[:computer_science:computer_vision:opencv:object_identification_tensorflow_opencv_imageai_yolo_requirements|requirements]] installed. ===== Project Start - Importing Libraries and Testing ===== ==== Initialize the libraries ==== import cv2 as cv #Loads ComputerVision / OpenCV from imageai.Detection import ObjectDetection as od # Loads ImageAI import numpy as np # Imports NumPY import requests as req # Imports Requests import os as os # Imports OS Module ==== Testing if OpenCV is working: ==== url = 'https://p7.hiclipart.com/preview/124/937/193/architectural-engineering-engineer.jpg' # Image to be Downloaded r = req.get(url) # Pass the URL as a Request.Get with open('testimage.jpg', 'wb') as outfile: # Writes the Image to the system outfile.write(r.content) img = cv.imread('testimage.jpg') # Reads an image with OpenCV window_name = 'image' # Defines a Window Name cv.imshow(window_name, img) # Show the Image on a Window cv.waitKey(0) # Wait for any Key to be pressed cv.destroyAllWindows() # Destroy (all) previous created Windows ==== Preparing for the upcoming project: ==== Now that we tested that OpenCV is working let's edit that last piece of code, change it to a function, so we can reutilize it often. The complete code until now should look like this: import cv2 as cv from imageai.Detection import ObjectDetection as od import numpy as np import requests as req import os as os def showImage(img): window_name = 'image' cv.imshow(window_name, img) cv.waitKey(0) cv.destroyAllWindows() ===== ===== ===== Downloading Images to train the ML ===== Run this [[:computer_science:computer_vision:opencv:object_identification_tensorflow_opencv_imageai_yolo_download_images_script|code]] to download 2 type of images that we will be using. One being only of people and the other to download images of hats. This images will be contained on they own folder since we will be using that to train the Machine Learning. ===== External References: ===== [[https://www.codeproject.com/Articles/5270236/Installing-OpenCV-and-ImageAI-for-Object-Detection|https://www.codeproject.com/Articles/5270236/Installing-OpenCV-and-ImageAI-for-Object-Detection]]