黑色背景下,计算照片白色的区域面积和周长
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
运行后: