代码如下:
# -*- coding=GBK -*-
import cv2 as cv
import numpy as np
#轮廓发现
def contous_image(image):
dst = cv.GaussianBlur(image, (3, 3), 0)
gray = cv.cvtColor(dst, cv.COLOR_BGR2GRAY)
ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)
cv.imshow("二值化", binary)
cloneImage, contous, heriachy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)
for i,contou in enumerate(contous):
cv.drawContours(image, contous, i, (0, 0, 255), 1)
cv.imshow("轮廓", image)
for i,contou in enumerate(contous):
cv.drawContours(image, contous, i, (0, 0, 255), -1)
cv.imshow("轮廓覆盖", image)
src = cv.imread("D://1.jpg")
cv.imshow("原来", src)
contous_image(src)
cv.waitKey(0)
cv.destroyAllWindows()
运行结果如下: