要提取和分析圖像的輪廓,可以使用OpenCV庫中的findContours()函數來實現。以下是一個示例代碼,演示如何在Python中使用OpenCV庫提取圖像的輪廓:
```python
import cv2
import numpy as np
# 讀取圖像
image = cv2.imread('image.jpg')
# 將圖像轉換為灰度圖像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 進行圖像閾值處理,得到二值圖像
ret, thresh = cv2.threshold(gray, 127, 255, 0)
# 查找圖像的輪廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 繪制輪廓
cv2.drawContours(image, contours, -1, (0, 255, 0), 3)
# 顯示結果
cv2.imshow('Contours', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在此示例中,我們首先讀取圖像,然后將其轉換為灰度圖像。接下來,我們對灰度圖像進行閾值處理,以獲得二值圖像。然后,使用findContours()函數查找圖像的輪廓,并將其繪制在原始圖像上。最后,我們顯示帶有輪廓的圖像。
請注意,findContours()函數返回兩個值:contours和hierarchy。contours是檢測到的輪廓列表,而hierarchy包含有關輪廓之間關系的信息。
通過使用類似的方法,您可以輕松提取和分析圖像的輪廓。