opencv写好的算子,比如找边 找圆 模版匹配

描述

我可以为你提供一些使用OpenCV进行图像处理的基本算子的示例代码,但请注意,我无法提供完整的程序或代码私钥。

边缘检测(使用Canny算子):

 

python复制代码import cv2  import numpy as np    image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)  edges = cv2.Canny(image, 100, 200)  cv2.imshow('Edges', edges)  cv2.waitKey(0)  cv2.destroyAllWindows()

 

圆检测(使用Hough变换):

 

python复制代码import cv2  import numpy as np    image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)  edges = cv2.Canny(image, 100, 200)  circles = cv2.HoughCircles(edges, cv2.HOUGH_GRADIENT, 1, 20, param1=50, param2=30, minRadius=0, maxRadius=0)  circles = np.uint16(np.around(circles))  for i in circles[0, :]:      cv2.circle(image, (i[0], i[1]), i[2], (0, 255, 0), 2)  cv2.imshow('Detected Circles', image)  cv2.waitKey(0)  cv2.destroyAllWindows()

 

模板匹配:

 

python复制代码import cv2  import numpy as np    image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)  template = cv2.imread('template.jpg', cv2.IMREAD_GRAYSCALE)  w, h = template.shape[::-1]  result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)  threshold = 0.8  loc = np.where(result >= threshold)  for pt in zip(*loc[::-1]):      cv2.rectangle(image, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)  cv2.imshow('Detected Template', image)  cv2.waitKey(0)  cv2.destroyAllWindows()

 

请注意,这些代码示例是用于演示目的,可能需要根据具体情况进行调整。另外,请确保在使用OpenCV之前安装了必要的库。你可以通过pip安装OpenCV:pip install opencv-python。

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分