黑色背景下,計算照片白色的區域面積和周長
import cv2
img = cv2.imread('E:\Python-workspace\OpenCV\OpenCV/beyond.png',1)#第一個參數為選擇照片的路徑,注意照片路徑最后一個為正斜杠其他都為反斜杠;第二個參數,其中1表示所選照片為彩色照片,0表示灰度照片
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(img_gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
# 尋找二值化圖中的輪廓
image, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cnt = contours[1]
cv2.drawContours(img, [cnt], 0, (0, 0, 255), 2)
area = cv2.contourArea(cnt)
perimeter = cv2.arcLength(cnt, True)#True表示圖像是否封閉
print(area)#白色區域面積
print(perimeter)#白色區域周長
效果如下:
運行前:
白色區域正方體的邊長大概為200
運行后: