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

我在python中使用opencv的图像的高斯模糊期间遇到错误。代码之前工作正常,突然出现错误

我在python中使用opencv的图像的高斯模糊期间遇到错误。代码之前工作正常,突然出现错误

蝴蝶不菲 2022-08-11 17:47:04
我写了以下代码:import cv2 import lxml.etree as xmlimport osimport shutilfor filename in os.listdir(paths['labels']):    with open(paths['labels']+filename,'r'):        img2 = cv2.imread(filename, cv2.IMREAD_COLOR)         # Reading same image in another          # variable and converting to gray scale.         img = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)         # Converting image to a binary image         # ( black and white only image).         #_, threshold = cv2.threshold(img, 110, 255, cv2.THRESH_BINARY)         blur = cv2.GaussianBlur(img,(5,5),0)        _, threshold = cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)        # Detecting contours in image.         contours, _= cv2.findContours(threshold, cv2.RETR_TREE,      #here it finds the total number of contours, i.e, number of rectangles in the image file                                       cv2.CHAIN_APPROX_SIMPLE)我在第 18 行中收到错误:(blur = cv2.GaussianBlur(img,(5,5),0))错误:(-215:Assertion failed) dims <= 2 && step[0] > 0 in function 'cv::Mat::locateROI'代码之前工作正常,错误突然出现。我尝试将图像扩展名从jpg更改为png,但错误仍然存在。
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

当您的代码未收到正确的图像(即图像的路径可能无效或图像本身存在一些问题)时,最常发生此错误。问题是,您可以尝试检查您的图像是否正确加载:

cv2.imshow('image',img)

此命令用于在OpenCV中显示图像,我认为您显然很熟悉。因此,在使用高斯模糊之前,请使用此命令来验证您提供的图像是否正确加载。

如果图像没有显示,那么您可以确定您正面临上述问题之一!您现在将在此行中收到断言失败错误。

PS:ROI的完整形式是感兴趣的区域。在您的例子中,OpenCV无法找到它将执行高斯模糊的感兴趣区域。


查看完整回答
反对 回复 2022-08-11
  • 1 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信