使用cv2和python打印图像
当我使用cv2.imshow时,它工作正常,图片显示。但当我想使用cv2.imwrite将其保存到文件夹中时:使用cv2和python打印图像,python,numpy,shapes,cv2,Python,Numpy,Shapes,Cv2,当我使用cv2.imshow时,它工作正常,图片显示。但当我想使用cv2.imwrite将其保存到文件夹中时: test_image = cv2.imread("/Users/Capstone-Project-1/test/000002806137.jpg") test_image = cv2.resize(test_image, (512,256))/255.0 test_image = np.rollaxis(test_image, axis=2, start=0) _,
test_image = cv2.imread("/Users/Capstone-Project-1/test/000002806137.jpg")
test_image = cv2.resize(test_image, (512,256))/255.0
test_image = np.rollaxis(test_image, axis=2, start=0)
_, _, ti = test(lane_agent, np.array([test_image]))
cv2.imshow("test", ti[0])
cv2.waitKey(0)
cv2.imwrite('/Users/Capstone-Project-1/Deep Neural
Networks/save_test/image_result.png',test_image)
它给了我以下错误:
error: (-215:Assertion failed) image.channels() == 1 || image.channels() == 3 ||
image.channels() == 4 in function 'imwrite_'
有什么建议可以解决这个问题吗?也许你必须这样做:
path = 'D:/OpenCV/Scripts/Images'
cv2.imwrite(os.path.join(path , 'filename.png'), img)
为什么要使用
test\u image
而不是ti[0]
,即要显示的相同帧
你试过这个吗
cv2.imwrite('/Users/Capstone-Project-1/Deep Neural Networks/save_test/image_result.png', ti[0])
是否存在相同的错误?测试图像。形状[-1]需要为1(monchrome)、3(RGB)或4(RGBA) 由于您从
jpg
开始,数据可能是RGB,因此cv2.resize
之后的形状是(512、256、3)
当您这样做时:
test_image = np.rollaxis(test_image, axis=2, start=0)
您的轴发生变化,您的形状变成
(3、512、256)
。现在它不再被识别为图像,并且imwrite
失败。test\u image.shape告诉您什么?