为了账号安全,请及时绑定邮箱和手机立即绑定

我想实现图像处理,但它显示了一些错误

我想实现图像处理,但它显示了一些错误

狐的传说 2022-06-14 16:33:08
if not len(blurred.shape) == 2:                gray = cv2.cvtColor(blurred, cv2.COLOR_RGB2GRAY)            else:                gray = blurred            edge = cv2.Canny(gray, 50, 150)          circles = AHTforCircles(edge,center_threhold_factor=params[i]['center_threhold_factor'],score_threhold=params[i]['score_threhold'],min_center_dist=params[i]['min_center_dist'],minRad=params[i]['minRad'],                                maxRad=params[i]['maxRad'],center_axis_scale=params[i]['center_axis_scale'],radius_scale=params[i]['radius_scale'],                                halfWindow=params[i]['halfWindow'],max_circle_num=params[i]['max_circle_num'])        final_img = drawCircles(circles,blurred)        plt.imshow(final_img)        plt.axis('off')        plt.show()edge = cv2.Canny(gray, 50, 150)   cv2.error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\imgproc\src\canny.cpp:829: error: (-215:Assertion failed) _src.depth() == CV_8U在函数'cv :: Canny'中
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

收到您的问题的一些描述会很有帮助。您正在尝试做什么等。当问题发生时。你知道在我们帮助你之前帮助我们一点点:)



查看完整回答
反对 回复 2022-06-14
?
红糖糍粑

TA贡献1815条经验 获得超6个赞

函数的输入图像cv2.Canny()具有错误的数据类型。它需要是无符号的 8 位整数(OpenCV 调用的CV_8U),并且您还有其他内容(我们无法从您的代码中看到)。

更改为cv2.Canny(gray.astype('uint8')),该特定问题应该消失。

但请注意,您可能需要考虑图像的数据类型,并在其他地方进行此转换。


查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 338 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号