Python是一門功能強大的編程語言,通過其豐富的類庫可以方便地處理圖像。在圖像處理中,有時會需要提取圖片中的內輪廓。下面我們來看一下Python如何實現內輪廓的提取。
# 導入相關模塊 import cv2 import numpy as np # 讀取圖片 img = cv2.imread('example.jpg') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 模糊處理 blurred = cv2.GaussianBlur(gray, (5, 5), 0) # 邊緣檢測 edged = cv2.Canny(blurred, 30, 150) # 提取輪廓 contours, hierarchy = cv2.findContours(edged, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) # 新建畫布 drawing = np.zeros((edged.shape[0], edged.shape[1], 3), dtype=np.uint8) # 繪制內輪廓 for i in range(len(contours)): cv2.drawContours(drawing, contours, i, (0, 255, 0), 2, cv2.LINE_8, hierarchy, 0) # 顯示結果 cv2.imshow('Contours', drawing) cv2.waitKey(0) cv2.destroyAllWindows()
以上代碼首先讀取一張圖片,并將其轉化為灰度圖像進行模糊處理和邊緣檢測,然后使用OpenCV庫的findContours函數提取輪廓信息。最后使用drawContours函數繪制內輪廓并輸出結果。
在圖像處理中,內輪廓的提取是一項非常有用的技術。Python提供了一系列方便的類庫和函數,使得此類操作變得非常簡單。有了這些工具,我們可以更輕松地處理各種圖像,從而在科研和實踐中發揮更大的作用。