import cv2 as cv
import numpy as np
#contour 外形 轮廓
def contours_demo(src):
GaussianBlur=cv.GaussianBlur(src,(3,3),0)
gray=cv.cvtColor(GaussianBlur,cv.COLOR_BGR2GRAY)
ret,binary=cv.threshold(gray,0,255,cv.THRESH_OTSU|cv.THRESH_BINARY)
cv.imshow('threshold_binary',binary)
#轮廓
contours,heriachy=cv.findContours(binary,cv.RETR_EXTERNAL,cv.CHAIN_APPROX_SIMPLE)
for i ,contour in enumerate(contours):
cv.drawContours(src,contours,i,(0,0,255),2)
#轮廓内填充
#cv.drawContours(src, contours, i, (0, 0, 255), -1)
print(i)
cv.imshow("detect contours",src)
src=cv.imread('circle.png')
cv.namedWindow("yuantu",cv.WINDOW_AUTOSIZE)
cv.imshow("yuantu",src)
contours_demo(src)
cv.waitKey(0)
cv.destroyAllWindows()