iT邦幫忙

2022 iThome 鐵人賽

0
自我挑戰組

大四要畢業了但還不太會python合理嗎系列 第 17

Day17- 輪廓真的出來ㄌ

  • 分享至 

  • xImage
  •  

今天使用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:
https://ithelp.ithome.com.tw/upload/images/20221110/20151839JJ65YAZJ8Q.jpg

有輪廓的IU(??
https://ithelp.ithome.com.tw/upload/images/20221110/20151839MtSJ6GhKBZ.jpg


上一篇
Day16- 淺談圖片ㄉ輪廓
下一篇
Day18- 霍夫跟霍金是兄弟嗎(硬要掰)
系列文
大四要畢業了但還不太會python合理嗎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言