Python怎么输出一幅图像每个点的像素值?

Python013

Python怎么输出一幅图像每个点的像素值?,第1张

我是用PIL这个库,用opencv的库也可以

from PIL import Image

img=Image.open("demo.jpg")

img_array=img.load()

然后就可以通过img_array[x,y]来读取像素值了

另外img.size查看图片大小,也可以通过img_array[x,y]=(11,22,33)来设置RGB像素值

每张图像是一个二维矩阵(灰度图像)或者三维张量(彩色图像)。计算均值的话可以用

import numpy as np

np.mean()

这个函数的功能可以查看你的python库,help(np)即可(或者help(numpy))。

一个计算机数字图像它本质上来说就是由很多个像素点来组成的,而图像像素点数量是通过它长宽分辨率相乘而得到的。那么下面文章就是会来讲解一下,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如何用图片像素修改颜色”的全部内容了,希望对你有所帮助。