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

来源:互联网 发布:淘宝pv uv 率 编辑:程序博客网 时间:2024/06/05 04:19

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


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


from PIL import Imageimagepath='/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,ImageOpsimagepath='/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)