图像处理 简介:图像处理,利用计算机算法,对图像进行分析/操作的处理技术,包括图像的存储、表示、提取、操作、增强、复原和解释。 1.图像处理概念 图像概念: 最简单图像(单
图像处理
简介:图像处理,利用计算机算法,对图像进行分析/操作的处理技术,包括图像的存储、表示、提取、操作、增强、复原和解释。
1.图像处理概念
图像概念:
最简单图像(单通道,二值或单色,灰度或黑白图像f(x,y))
彩色RGB图像(三通道(r,g,b))
描述图像方法:空间数字化、振幅数字化
空间数字化:空间坐标(x,y)数字化图像采样
振幅数字化:灰度量化
2.图像处理基本流程
图像处理流程基本步骤如下:
(1)图像转换(灰度转化)
(2)图像质量增强(模型变清晰)
(3)图像去噪,图像复原
(1)图像分类
(2)对象识别
3.图像输入/输出显示
PIL读取、保存和显示
from PIL import Image,ImageFont,ImageDrawim=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')
matplotlib读取、保存和显示
import matplotlib.image as mpimgimport 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()
scikit-image读取、保存和显示
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')
4.图像类型
图像有如下类型:
(1)单通道图像:每个像素由单个值表示,包括二值(单色,每个像素由0~1组成)和灰度图像(每个像素由8位表示,其值在0~255)
(2)多通道图像
- 三通道,RGB图像和HSV都是三通道图像,RGB由三元值(r,g,b),r,g,b分别表示红色、绿色、蓝色的颜值值
- 四通道图像(r,g,b,a),其中a表示的透明度
图像处理常用操作:
一种图像模式转换为另一种图像模式
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=np.array(im)
imshow(im)
plt.axis('off')
plt.show()
im=Image.fromarray(im)
imshow(im)
PIL图像操作裁剪与调整尺寸
(1)裁剪
im_c=im.crop((175,75,320,200))
(2)调整尺寸
调整为较大图像
#这里使用了双线值插值Image.BILINEAR,采样技术放大
调整为较小图像
im_small=im.resize((im.width//5,im.height//5),Image.ANTALIAS)#这里使用抗混叠技术采样Image.ANTALIAS
灰度变化,镜像图像等