首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在低通滤波后的图像上找到轮廓?

如何在低通滤波后的图像上找到轮廓?
EN

Stack Overflow用户
提问于 2019-05-23 01:21:39
回答 1查看 380关注 0票数 2

我是计算机视觉的新手。因此,我不知道以下代码的内部实现,因为我无法调试错误。谁能指出下面代码中的错误?

该代码使用盒滤波器和边缘检测核矩阵的组合将停车场图像转换为二值图像。然后我试着找到轮廓线。现在我知道了在二值图像上找到了轮廓,可以用cv2.threshold()函数导出,通过滤波器和核矩阵得到的图像不也是二值图像吗?

import cv2
import numpy as np
import matplotlib.pyplot as plt

img=cv2.imread('parking spot1.jpg',1)
k3 = np.array(([-1,-1,-1],[-1,8,-1],[-1,-1,-1]))
low_filter = cv2.boxFilter(img, -1, (4,4))
output_low = cv2.filter2D(low_filter, -1, k3)
plt.subplot(2, 2, 1)
plt.imshow(img)
plt.title('Original Image')

plt.subplot(2, 2, 2)
plt.imshow(output_low)
plt.title('matrix1')

plt.show()

img, ret, heirarchy = cv2.findContours(output_low, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

你认为我做错了什么?我真的很感激在这个问题上的解释或方向。

在此之前非常感谢。

我面临的错误是:

回溯(最近一次调用) in () ->1 img,ret,heirarchy =cv2.findContors(output_low,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

错误: /io/opencv/modules/imgproc/src/contours.cpp:199:(3.4.3)模式错误:(-210:不支持的格式或格式组合)当模式为!= CV_RETR_FLOODFILL时,StartFindContours仅支持CV_8UC1图像,否则仅在函数的cvStartFindContours_Impl中支持CV_32SC1图像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-23 02:21:11

请正确阅读documentation of filtering。它清楚地说明了输出与源具有相同的大小和类型。因此,您的output_low是三维的,不能对其应用cv2.findContours。你可以像你所说的那样设置一个阈值,也可以简单地将output_low转换为灰度,然后找到轮廓。

编辑

我想我的答案在说明通道和图像深度之间的区别时不是很清楚。从滤波器和核矩阵获得的图像不一定是一维或灰度的。它与输入矩阵的大小相同,这意味着通道的数量也是相等的。因此,如果您的输入图像是灰度图像,那么输出将是一维的。

你可以在这里阅读更多关于difference between channels and depth的信息。

因此,如果您想要灰度的cv2.boxFiltercv2.filter2D结果,只需在对其应用过滤之前将原始图像转换为灰度即可。

img = cv2.imread('opencv1.png', 1)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
k3 = np.array(([-1,-1,-1],[-1,8,-1],[-1,-1,-1]))
low_filter = cv2.boxFilter(gray, -1, (4,4))
output_low = cv2.filter2D(low_filter, -1, k3)

您的错误清楚地说明了FindContours supports only CV_8UC1 images when mode != CV_RETR_FLOODFILL otherwise supports CV_32SC1 imagesCV_8UC1CV_32SC1中的C1表示通道数只能为1。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56262005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档