赞
踩
简介:图像处理,利用计算机算法,对图像进行分析/操作的处理技术,包括图像的存储、表示、提取、操作、增强、复原和解释。
图像概念:
最简单图像(单通道,二值或单色,灰度或黑白图像f(x,y))
彩色RGB图像(三通道(r,g,b))
描述图像方法:空间数字化、振幅数字化
空间数字化:空间坐标(x,y)数字化图像采样
振幅数字化:灰度量化
图像处理流程基本步骤如下:
from PIL import Image,ImageFont,ImageDraw
im=Image.open("data.jpg")
print(im.width,im.height,im.mode,im.format,type(im))
#显示图像
im.show()
#用PIL函数convert()将彩色RGB转化为灰度,保存
im_g=im.convert('L')
im_g.save('data.jpg')
import matplotlib.image as mpimg
import matplotlib.pylab as plt
im=mpimg.imread('data.jpg')
print(im.shape,im.dtype,type(im))
plt.figure(figsize=(10,10))
plt.imshow(im)
plt.axis('off')
plt.show()
im=imread('data.jpg')
print(im.shape,im.dtype,type(im))
#从图片RGB转化为HSV格式
hsv=color.rgb2hsv(im)
hsv[:,:,1]=0.5
im1=color.hsv2rgb(hsv)
imsave('data.jpg')
图像有如下类型:
(1)单通道图像:每个像素由单个值表示,包括二值(单色,每个像素由0~1组成)和灰度图像(每个像素由8位表示,其值在0~255)
(2)多通道图像
图像处理常用操作:
一种图像模式转换为另一种图像模式
im=imread('data.jpg')
im_g=color.rgb2gray(im)
plt.subplot(121)
plt.imshow(im,cmap='gray')
plt.axis('off')
plt.subplot(122)
plt.imshow(im_g,cmap='gray')
plt.axis('off')
plt.show()
下图为RGB格式图像转化为YIQ格式的矩阵计算:
图像数据结构转化为图像数据
图像数据结构用scikit-image表示
im=Image.open('data.jpg')
im=np.array(im)
imshow(im)
plt.axis('off')
plt.show()
im=Image.fromarray(im)
imshow(im)
PIL图像操作裁剪与调整尺寸
(1)裁剪
im=Image.open('data.jpg')
im_c=im.crop((175,75,320,200))
(2)调整尺寸
调整为较大图像
im_large=im.resize((im.width*5,im.height*5),Image.BILINEAR)
#这里使用了双线值插值Image.BILINEAR,采样技术放大
调整为较小图像
im_small=im.resize((im.width//5,im.height//5),Image.ANTALIAS)
#这里使用抗混叠技术采样Image.ANTALIAS
灰度变化,镜像图像等
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。