首页 > 解决方案 > 如何重塑 skimage.imread 读取的 png 图像

问题描述

然后我读了一些jpg文件,这样

image = imread('aa.jpg')

结果我得到了数字从1到255的数据框

我可以这样调整它的大小:

from cv2 import resize
image = resize(image, (256, 256)

但后来我对 png 做同样的想法,结果不理想。

image = imread('aa2.png')  # array with number within 0-1 range
resize(image, (256,256)) # returns 1 channel image
resize(image, (256,256, 3))   # returns 3 channel image

奇怪的图像 在此处输入图像描述

imshow(image)

在此处输入图像描述

标签: pythonimagepngscikit-imagecv2

解决方案


我想您的图像或代码有问题。

这里有一个免费图片可以尝试:https ://pixabay.com/vectors/copyright-free-creative-commons-98566/

也许您对 libpng 有疑问,请查看以下答案:libpng 警告:iCCP:已知不正确的 sRGB 配置文件

检查这个适用于 PNG 图像的简单代码。

     import cv2 as cv
     image = cv.imread("foto.png")
     if __name__ == "__main__":
          while True:
                image = cv.resize(image,(200,200))
                cv.imshow("prueba",image)

                key = cv.waitKey(10)
                if key == 27:
                    cv.destroyAllWindows()
                    break   

     cv.destroyAllWindows()

推荐阅读