Python中图片的shape:尺寸、像素和通道数详解
在Python中,使用PIL库(Pillow库的fork)来处理图像。PIL库的Image模块提供了一个open函数,可以用来读取图像文件。\n\n读取图像文件后,可以通过调用图像对象的size属性来获取图像的尺寸,即行数和列数,通常表示为(width, height)。这些尺寸值表示图像的像素大小,其中width表示图像的宽度(列数),height表示图像的高度(行数)。\n\n例如,下面的代码可以读取一张图片,并打印出其尺寸:\n\npython\nfrom PIL import Image\n\n# 读取图片\nimage = Image.open('image.jpg')\n\n# 获取尺寸\nwidth, height = image.size\nprint(f"图像尺寸为:{width} x {height}")\n\n\n注意,图像的shape并不是指PIL库中Image对象的shape属性,而是Numpy库中的ndarray对象的shape属性。如果你想要将图像转换为Numpy数组,并获取其shape,可以使用numpy.array()方法将Image对象转换为数组,然后获取其shape属性。\n\npython\nimport numpy as np\nfrom PIL import Image\n\n# 读取图片\nimage = Image.open('image.jpg')\n\n# 转换为Numpy数组\nimage_array = np.array(image)\n\n# 获取shape\nshape = image_array.shape\nprint(f"图像shape为:{shape}")\n\n\n在Numpy数组中,shape的第一个数字表示行数(高度),第二个数字表示列数(宽度),第三个数字(如果存在)表示通道数(例如RGB图像的通道数为3)。\n\n因此,shape属性的数字并不直接代表像素点,而是表示图像的尺寸和通道数。
原文地址: https://www.cveoy.top/t/topic/pN6l 著作权归作者所有。请勿转载和采集!