基本的图像操作和处理(python+OpenCV)

一:Python图像处理类库

1.安装PIL

因为PIL只支持到Python 2.7,而Pillow是PIL的一个派生分支,但如今已经发展成为比PIL本身更具活力的图像处理库。我的python又是3.5版本的,所以安装Pillow来进行替代。

在命令行输入以下语句: 
pip install Pillow

即可安装完成

2.显示原图和灰度图

用Image.open读取图像,然后用convert()方法实现图像的颜色转换,将图像转换成灰度图像输出

3.拷贝粘贴区域

调用crop()方法,从图像中剪裁指定区域,然后旋转该区域,并调用paste()方法将该区域放回去

4.创建缩略图

设置生成的缩略图的大小size,调用thumbnail()方法,接受参数size,即可将图像转换成指定大小的缩略图

5.调整图像尺寸

调用resize()方法,便可指定新图像的大小

6.旋转图片

调用rotate()方法,图像将会逆时针旋转指定的角度

具体代码和结果如下:

二: Matplotlib库

1.画图、描点和线

调用plot函数,将指定点的坐标位置用红色星状标记,也可将指定点用蓝色实线连接。加上命令axis('off'),便可以隐藏坐标轴

2.图像轮廓和直方图

首先用convert方法将图像灰度化,然后对每一个坐标的像素值加上同一个阈值,得到图像的轮廓。图像的直方图表示图像像素的分布情况,可调用hist()函数绘制,又由于hist()函数只接受一维数组的输入,所以先调用flatten()方法对图像进行压平处理,即转化成一维数组。

三:NumPy库

1.直方图均衡化

直方图均衡化是将图像的灰度值进行归一化,可增强图像的对比度。

首先先下载安装pcv库,在命令行中进入setup.py的根目录,输入python setup.py install 即可

四.Scipy

1.图像模糊

高斯模糊是图像处理操作的一部分,可以用于定义图像尺度、计算兴趣点以及很多其他的应用场合。使用scipy.ndimage.filters模块进行高斯模糊,guassian_filter()函数的最后一个参标表示标准差,也就是图像的模糊程度,标准差越大,处理后的图像细节丢失的越多,也就越模糊。

猜你喜欢

转载自blog.csdn.net/sinat_37751993/article/details/88143239