如何显示或保存调整大小的图像?

How to show or save a resized image?

我想显示并保存调整后的图片。下面是相同的代码。

image = cv2.imread("zagreb_00050_11.png")

#plt.imshow(image)

image_sized=resize_keep_ar(image, 128)

plt.imshow(image_sized)

cv2.imwrite('resized_image.png',image_sized)

调整大小是使用 skimage 模块完成的。首先 plt.show() 工作正常(已评论),但在调整大小后,当我尝试查看调整大小的图像时,出现以下错误。

ValueError: Unsupported dtype

<Figure size 432x288 with 1 Axes>

此外,当尝试使用 cv2.imwrite 保存调整大小的图像时,出现以下错误。

TypeError: Expected Ptr<cv::UMat> for argument 'img'

我哪里错了?

添加

cv2.imwrite('resized_image.png', np.float32(image_sized))

而不是

cv2.imwrite('resized_image.png',image_sized)

解决问题。

你可以保存试试:

plt.imsave('resized_image.png', data)

或者保存整个图:

plt.savefig('resized_image.png')