Python 图像处理.docx
《Python 图像处理.docx》由会员分享,可在线阅读,更多相关《Python 图像处理.docx(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、Python图像处理|杨秀璋责编|夕颜题图|视觉中国出品|CSDNboke本篇文章主要讲解Python调用OpenCV实现图像平滑包括四个算法均值滤波、方框滤波、高斯滤波以及中值滤波。全文均是根底知识祈望对您有所帮助。知识点如下1.图像平滑2.均值滤波3.方框滤波4.高斯滤波5.中值滤波PS本文介绍图像平滑想让大众先看看图像处理的效果后面还会补充一些根底知识供大众学习。文章参考自己的boke及网易云课堂李大洋教师的讲解强烈推荐大众学习。图像平滑1.图像增强图像增强是对图像进展处理使其比原始图像更合适于特定的应用它需要与实际应用相结合。对于图像的某些特征如边缘、轮廓、比照度等图像增强是进展强调或
2、者锐化以便于显示、观察或者进一步分析与处理。图像增强的方法是因应用不同而不同的研究内容包括(参考课件以及左飞的?数字图像处理?)2.图像平滑图像平滑是一种区域增强的算法平滑算法有邻域平均法、中指滤波、边界保持类滤波等。在图像产生、传输以及复制经过中常常会因为多方面原因此被噪声干扰或者出现数据丧失降低了图像的质量某一像素假如它与周围像素点相比有明显的不同那么该点被噪声所感染。这就需要对图像进展一定的增强处理以减小这些缺陷带来的影响。简单平滑-邻域平均法3.邻域平均法图像简单平滑是指通过邻域简单平均对图像进展平滑处理的方法用这种方法在一定程度上消除原始图像中的噪声、降低原始图像比照度的作用。它利用
3、卷积运算对图像邻域的像素灰度进展平均进而到达减小图像中噪声影响、降低图像比照度的目的。但邻域平均值主要缺点是在降低噪声的同时使图像变得模糊十分在边缘以及细节处而且邻域越大在去噪才能增强的同时模糊程度越严重。首先给出为图像增加噪声的代码。#-*-coding:utf-8-*-importcv2importnumpyasnp#读取图片imgcv2.imread(test.jpg,cv2.IMREAD_UNCHANGED)rows,cols,chnimg.shape#加噪声foriinrange(5000):xnp.random.randint(0,rows)ynp.random.randint(0
4、,cols)imgx,y,:255cv2.imshow(noise,img)#等待显示cv2.waitKey(0)cv2.destroyAllWindows()输出结果如下所示均值滤波1.原理均值滤波是指任意一点的像素值都是周围N*M个像素值的均值。例如下列图中红色点的像素值为蓝色背景区域像素值之以及除25。其中红色区域的像素值均值滤波处理经过为(19725106156159)(14940107571)(163198*226*223156)(2223768193157)(42722504175)/25其中5*5的矩阵称为核针对原始图像内的像素点采用核进展处理得到结果图像。提取1/25可以将核转
5、换为如下形式2.代码Python调用OpenCV实现均值滤波的核心函数如下resultcv2.blur(原始图像,核大小)其中核大小是以宽度高度表示的元祖形式。常见的形式包括核大小33以及55。代码如下所示#encoding:utf-8importcv2importnumpyasnpimportmatplotlib.pyplotasplt#读取图片imgcv2.imread(test01.png)sourcecv2.cvtColor(img,cv2.COLOR_BGR2RGB)#均值滤波resultcv2.blur(source,(5,5)#显示图形titlesSourceImage,Blur
6、Imageimagessource,resultforiinxrange(2):plt.subplot(1,2,i1),plt.imshow(imagesi,gray)plt.title(titlesi)plt.xticks(),plt.yticks()plt.show()输出结果如下列图所示核设置为1010以及2020会让图像变得更加模糊。假如设置为11处理结果就是原图核中每个权重值一样称为均值。方框滤波方框滤波以及均值滤波核根本一致区别是需不需要均一化处理。OpenCV调用boxFilter()函数实现方框滤波。函数如下resultcv2.boxFilter(原始图像,目的图像深度,核大小
7、,normalize属性)其中目的图像深度是int类型通常用“-1表示与原始图像一致核大小主要包括33以及55如下所示。normalize属性表示是否对目的图像进展归一化处理。当normalize为true时需要执行均值化处理当normalize为false时不进展均值化处理实际上为求周围各像素的以及很容易发生溢出溢出时均为白色对应像素值为255。在图像简单平滑中算法利用卷积模板逐一处理图像中每个像素这一经过可以形象地比作对原始图像的像素一一进展过滤整理在图像处理中把邻域像素逐一处理的算法经过称为滤波器。平滑线性滤波器的工作原理是利用模板对邻域内像素灰度进展加权平均也称为均值滤波器。代码如下所
8、示#encoding:utf-8importcv2importnumpyasnpimportmatplotlib.pyplotasplt#读取图片imgcv2.imread(test01.png)sourcecv2.cvtColor(img,cv2.COLOR_BGR2RGB)#方框滤波resultcv2.boxFilter(source,-1,(5,5),normalize1)#显示图形titlesSourceImage,BoxFilterImageimagessource,resultforiinxrange(2):plt.subplot(1,2,i1),plt.imshow(images
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 图像处理 图像 处理
限制150内