python+openCV图像处理(二十三)轮廓检测
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python+openCV图像处理(二十三)轮廓检测,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1769字,纯文字阅读大概需要3分钟。
内容图文
![python+openCV图像处理(二十三)轮廓检测](/upload/InfoBanner/zyjiaocheng/609/97a4e34834fe4390a0f285fa3d205987.jpg)
import cv2 as cv
import numpy as np
def edge_demo(image):
blurred = cv.GaussianBlur(image, (3, 3), 0)
gray = cv.cvtColor(blurred, cv.COLOR_BGR2GRAY)
edge_output = cv.Canny(gray, 30, 100)
cv.imshow("Canny Edge", edge_output)
return edge_output
def edge_contours_demo(image):
binary = edge_demo(image)
cv.imshow("canny binary", binary)
cloneImage, contours, heriachy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)
for i, contour in enumerate(contours):
cv.drawContours(image, contours, i, (0, 0, 255), 2)#最后一个参数为-1时表示填充
approxCurve = cv.approxPolyDP(contour, 4, True)
if approxCurve.shape[0] > 6:
cv.drawContours(image, contours, i, (255, 0, 0), 2)
if approxCurve.shape[0] == 4:
cv.drawContours(image, contours, i, (0, 255, 0), 2)
#print(approxCurve.shape[0])
#print(i)
cv.imshow("edge detect contours", image)
def contours_demo(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 image", binary)
# binary = edge_demo(image)
cloneImage, contours, heriachy = cv.findContours(binary, cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)
for i, contour in enumerate(contours):
cv.drawContours(image, contours, i, (0, 0, 255), 2)#最后一个参数为-1时表示填充
approxCurve = cv.approxPolyDP(contour, 4, True)
if approxCurve.shape[0] > 6:
cv.drawContours(image, contours, i, (255, 0, 0), 2)
if approxCurve.shape[0] == 4:
cv.drawContours(image, contours, i, (0, 255, 0), 2)
#print(approxCurve.shape[0])
#print(i)
cv.imshow("detect contours", image)
src = cv.imread("3.png")
cv.namedWindow("input image", cv.WINDOW_AUTOSIZE)
cv.imshow("input image", src)
src1=src.copy()
src2=src.copy()
contours_demo(src1)
edge_contours_demo(src2)
cv.waitKey(0)
cv.destroyAllWindows()
内容总结
以上是互联网集市为您收集整理的python+openCV图像处理(二十三)轮廓检测全部内容,希望文章能够帮你解决python+openCV图像处理(二十三)轮廓检测所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。