python中修改像素颜色并形成一个新图像的代码

Python011

python中修改像素颜色并形成一个新图像的代码,第1张

一个计算机数字图像它本质上来说就是由很多个像素点来组成的,而图像像素点数量是通过它长宽分辨率相乘而得到的。那么下面文章就是会来讲解一下,python获取图片像素以及使用图片像素修改其颜色的方法,想要学习这个知识的小伙伴就继续往下看看吧。

一、获取图片像素

matplotlib、opencv、skimage、pyplot等第三方库和模块,都有方法能够将图片读取到python程序中将其作为图像对象。那么图片像素实际上指的就是图片分辨率,只需要使用对象shape()这个属性即可获取,下面示例为opencv读取图片像素的方法:

import cv2 imagess = cv2.imread(r'C:\Users\Administrator\Desktop\03.jpg',-1)print(imagess.shape)

或者是用skimage这个第三方库之中的模块也行,使用data模块打开一个自带的图片之后,使用同样的属性即可获取图片像素,代码示例如下所示:

from skimage import dataimg=data.chelsea() rows,cols=img.shape

二、访问像素修改颜色

在文章开头就已经说过了,图像本质上就是像素点来组成的,而图像之所以多种多样的原因也在于它们的颜色不同。简单来说,可以将图像看做是xy坐标系,长宽分别对应的就是x轴以及y轴。

而且python内将图片读取进来打开之后的形式就是多维数组像素点,那么只需要在图片对象后加上中括号使用切片语法。然后再其中添加x坐标、y坐标、通道索引(写冒号就是全部颜色通道修改)作为参数,之后再去用等号赋值即可修改它的颜色,代码示例如下所示:

from skimage import io,dataimg=data.chelsea() R=img[:,:,0] io.imshow(R)

以上就是关于“Python怎么读取图片像素?Python如何用图片像素修改颜色”的全部内容了,希望对你有所帮助。

我是用PIL这个库,用opencv的库也可以\x0d\x0afrom PIL import Image\x0d\x0aimg=Image.open("demo.jpg")\x0d\x0aimg_array=img.load()\x0d\x0a然后就可以通过img_array[x,y]来读取像素值了\x0d\x0a另外img.size查看图片大小,也可以通过img_array[x,y]=(11,22,33)来设置RGB像素值

Python本身不支持改变像素大小来修改存储空间,但是可以使用第三方库来实现这一功能。Pillow是一个开源的Python图像处理库,可以用来修改图片的大小,从而减少存储空间。

使用Pillow库,可以使用resize()函数来调整图片的大小:

from PIL import Image

img = Image.open('image.jpg')

img = img.resize((200, 200)) # 调整图片大小为200x200像素

img.save('image_resized.jpg') # 保存调整后的图片