2024-09-27 17:46:49 发布
网友
我在从天空(屋顶)的图像上查找轮廓时遇到问题,这是屋顶的原始图像:
所以我需要找到所有的边缘,屋顶上的窗户,这样我才能测量面积。我现在得到的结果是:
所以问题在于树木、草地、道路。。。你能给我一些建议吗?我该怎么办?谢谢:)
很可能您已经将图像转换为灰度,然后应用Canny边缘检测。因此,Canny输出图像中的每个特征
我有一个两步解决方案:
ksize
(9x9)
(9 x 9)的代码
(9 x 9)
import cv2 img = cv2.imread("7m5oq.jpg") gry = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) blr = cv2.GaussianBlur(gry, (9, 9), 0) cny = cv2.Canny(blr, 50, 200) cnt, _ = cv2.findContours(cny, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE) img = cv2.drawContours(img, cnt, -1, (0, 0, 255), thickness=1) cv2.imshow("Gaussian", blr) cv2.imshow("Canny", cny) cv2.imshow("Contour", cnt) cv2.waitKey(0)
很可能您已经将图像转换为灰度,然后应用Canny边缘检测。因此,Canny输出图像中的每个特征
我有一个两步解决方案:
ksize
的增加,将显示较小的特征。我认为您可以计算或测量与(9x9)
结果输出的距离李>(9 x 9)
的代码相关问题 更多 >
编程相关推荐