Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用cv2和python打印图像_Python_Numpy_Shapes_Cv2 - Fatal编程技术网

使用cv2和python打印图像

使用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) _,

当我使用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)
_, _, 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告诉您什么?