我正在尝试对文件夹中的多个图像进行旋转,但是当我将fx,fy的值大于0.2放入调整大小函数时出现此错误 ( cv2.error:OpenCV(4.1.2)... error:(-215:Assertion failed)!ssize.empty()in function'cv :: resize')
尽管,当我尝试旋转单个图像并将fx和fy的值设置为0.5时,它仍然可以正常工作。
有一种方法可以解决此问题,因为逐个增加图像非常忙吗?加上通过此处附带的代码旋转的多张图像,fx和fy值等于0.2,它们具有不希望的尺寸,即照片非常小,并且质量也降低了。
旋转多张图片的代码部分如下:
for imag in os.listdir(source_folder):
img = cv2.imread(os.path.join(source_folder,imag))
img = cv2.resize(img, (0,0), fx=0.5, fy=0.5)
width = img.shape[1]
height = img.shape[0]
M = cv2.getRotationMatrix2D((width/2,height/2),5,1.0)
rotated_img = cv2.warpAffine(img,M,(img.shape[1],img.shape[0]))
cv2.imwrite(os.path.join(destination_right_folder, "v4rl" + str(a) + '.jpg') , rotated_img)
#cv2.imshow("rotated_right",rotated_img)
#cv2.waitKey(0)
a += 1
答案 0 :(得分:0)
在读取图像后添加检查以查看其是否为无:
img = cv2.imread(os.path.join(source_folder,imag))
if img is None: continue
调用cv2.resize()函数时发生错误。也许正在读取不是图像的文件。