gpt4 book ai didi

python - 将 HoughCircles 与 3 channel 输入一起使用时出错

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:37 25 4
gpt4 key购买 nike

在检测圆圈之前,我将 red channel 替换为 green channel 。更换 channel 后,我将其通过模糊过滤器,然后进行霍夫变换以检测圆圈。但是当我这样做时,我收到了一条糟糕的错误消息:

OpenCV(3.4.1) Error: Assertion failed (!_image.empty() && _image.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) && (_image.isMat() || 

_image.isUMat())) in HoughCircles, file /io/opencv/modules/imgproc/src/hough.cpp, line 1659
Traceback (most recent call last):

File "circle_light.py", line 44, in <module>
param1=param1,param2=param2,minRadius=minRadius,maxRadius=maxRadius)

cv2.error: OpenCV(3.4.1) /io/opencv/modules/imgproc/src/hough.cpp:1659: error: (-215) !_image.empty()

&& _image.type() == (((0) & ((1 << 3) - 1)) + (((1)-1) << 3)) && (_image.isMat() || _image.isUMat()) in function HoughCircles

我无法从中得到任何意义,因此无法理解我可能做错了什么。这是我所做的片段。

import cv2

img = cv2.imread("images/{}".format("img.png"), 1)

b,g,r = cv2.split(img)
img = cv2.merge([b,g,g])
img = cv2.GaussianBlur(img,(5,5),0)

minDist = 11
param1 = 20
param2 = 20
minRadius = 10
maxRadius = 20

circles = cv2.HoughCircles(
img, cv2.HOUGH_GRADIENT, 1, minDist,
param1=param1, param2=param2, minRadius=minRadius, maxRadius=maxRadius
)

错误发生在我调用HoughCircles 函数时。我可能做错了什么?

最佳答案

您只能在单 channel (灰度)图像上调用 cv2.HoughCircles(),您的图像有 3 个 channel 。

Documentation .

关于python - 将 HoughCircles 与 3 channel 输入一起使用时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54380447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com