Python是一種非常強大的編程語言。它可以用于各種各樣的應用,包括檢測長方形。那么,如何在Python中檢測長方形呢?下面我們來一步步探討。
# 首先導入OpenCV庫和numpy庫 import cv2 import numpy as np # 加載圖像 img = cv2.imread('example.png') # 轉變為灰度圖像 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 進行二值化處理 ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) # 查找輪廓 contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) # 遍歷每一個輪廓 for c in contours: # 計算輪廓的周長 peri = cv2.arcLength(c, True) # 進行多邊形擬合 approx = cv2.approxPolyDP(c, 0.04 * peri, True) # 判斷是否為長方形 if len(approx) == 4: # 獲取長方形的四個頂點 x, y, w, h = cv2.boundingRect(approx) # 繪制長方形 cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 3) # 顯示圖像 cv2.imshow('image', img) cv2.waitKey(0) cv2.destroyAllWindows()
以上代碼中,我們首先導入了OpenCV庫和numpy庫。接著加載了一張圖片,并將其轉變為灰度圖像。然后進行二值化處理,以便更好地查找輪廓。接下來使用了cv2.findContours函數查找圖像中的所有輪廓,返回的contours是一個包含所有輪廓的列表。接著我們遍歷每一個輪廓。對于每個輪廓,我們計算出其周長并進行多邊形擬合。如果擬合后的多邊形邊數為4,則判斷其為長方形。接著我們獲取長方形的四個頂點,并用cv2.rectangle函數繪制出長方形。最后顯示圖像即可。
綜上所述,使用Python來檢測長方形其實并不難。只需導入OpenCV庫,正確處理圖像和輪廓,即可輕松實現檢測長方形的功能。
上一篇c 后臺組json
下一篇c 后臺解析 json