今天使用jupyter來當工具。
原則上圖片辨識主要使用opencv函式庫去完成,而原本以為jupyter原本就有import cv2,但好像沒有,所以就可以先
!pip install opencv-python
!pip install matplotlib
再來就可以成功import cv2了!
今天利用IU的照片來做示範
import cv2
import numpy as np
image = cv2.imread('shapes.jpg')
cv2.imshow('Input Image', image)
cv2.waitKey(0)
gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
edged = cv2.Canny(gray, 30, 200)
cv2.imshow('Canny Edges', edged)
cv2.waitKey(0)
contours, hierarchy = cv2.findContours(edged, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)
cv2.imshow('Canny Edges After Contouring', edged)
cv2.waitKey(0)
print("Number of Contours found = " + str(len(contours)))
cv2.drawContours(image, contours, -1, (0,255,0), 3)
cv2.imshow('Contours', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
先用cv2的imread找到圖片,重要的是要把圖片放進相同的路徑喔,我原本就是沒有放在同樣的路徑所以一直Error==
再來轉換成灰階Grayscale的部分,利用Canny邊緣檢測使用多階段算法來檢測圖像中的各種邊緣。
OpenCV具有findContour()幫助從圖像中提取輪廓的功能。
再來就把所有輪廓繪製起來,最後show出圖片 利用imshow語法。
原圖IU:
有輪廓的IU(??