您的位置:首页 > 编程语言 > Python开发

python 中常用的图像操作(持续更新)

2017-05-21 19:26 411 查看
大家都说C/C++ 时最难的语言,可是对于用习惯C /C++ 的人来说还是比较容易的。这个容易不是说我可以随意使用C  进行操作,而是自己脑袋里所有的知识都是对 C 操作的。现在右由 C 换成 python 还真的是不太习惯。好多熟悉的操作一下变得陌生。所以这里记录一下用 python 进行图像处理的基本操作。----->  会持续更新

(1)  获取图片某一像素点的 (R,G,B)值

from PIL import Image

imagepath='/media/dell/Projects/test/US08621824-20140107-M00004-1-1.jpg'
img = Image.open(imagepath)
if img.mode not in ('L', 'RGB'):
img = img.convert('RGB')
r, g, b = img.getpixel((10, 10))

(2)获取投影矩阵(对二值化图片)

#依据图片像素颜色计算X轴投影
def Caculate_X(im):
Image_Value=[]
for i in range(im.size[0]):
Y_pixel=0   #计算完每一列之后对其进行初始化
for j in range(im.size[1]):     #在Y轴上遍历每一个像素点
if (im.getpixel((i,j))==0):     #判断像素点的值
temp_value=1        #像素值为0的记为1
else:
temp_value=0        #像素值为1的记为0
Y_pixel =Y_pixel+ temp_value        #累加得到在X轴的投影值
Image_Value.append(Y_pixel)     #将得到每一个投影值放入列表中

return Image_Value      #返回像素值列表

#依据图片像素颜色计算Y轴投影
def Caculate_Y(im1):
Image_Value1=[]
for m in range(im1.size[1]):
X_pixel=0
for n in range(im1.size[0]):
if (im1.getpixel((n,m))==0):
temp_value1=1
else:
temp_value1=0
X_pixel = X_pixel+temp_value1
Image_Value1.append(X_pixel)
return Image_Value1


(3) 图片反色

from PIL import Image,ImageOps

imagepath='/media/dell/Projects/test/US08621824-20140107-M00004-1-1.jpg'
img = Image.open(imagepath)
if img.mode not in ('L', 'RGB'):
img = img.convert('RGB')
img = ImageOps.invert(img)

Image._show(img)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: