学术堂首页 | 文献求助论文范文 | 论文题目 | 参考文献 | 开题报告 | 论文格式 | 摘要提纲 | 论文致谢 | 论文查重 | 论文答辩 | 论文发表 | 期刊杂志 | 论文写作 | 论文PPT
学术堂专业论文学习平台您当前的位置:学术堂 > 计算机论文 > 数字图像处理论文

Python语言在数字图像处理课程的应用研究

来源:学术堂 作者:原来是喵
发布于:2016-10-25 共4117字
  本文以数字图像处理课程主要内容为例,探讨了Python语言在提取图像信息、提高图像质量和图像数据变换时的应用方法。大家在相关论文写作时,可以参考这篇题目为“Python语言在数字图像处理课程的应用研究”的数字图像处理论文。
  
Python语言在数字图像处理课程的应用研究

  原标题:数字图像处理的一种新方法
  
  摘要:以数字图像处理课程主要内容为例,探讨了Python语言在提取图像信息、提高图像质量和图像数据变换时的应用方法。主要包括: 图像直方图、空间滤波、频率域滤波、边缘检测和形态学图像处理。应用表明,Python的处理方法简便灵活,表征数据图形直观明了,适合推广使用。
  
  关键词:Python; 数字图像处理;课程应用
  
  数字图像处理课程内容主要包括提高图像的视感质量( 亮度、色彩、对比度、几何变换、图像增强和复原)、提取图像中所包含的某些特征( 图像分割、图像信息描述、模式识别或计算机视觉)、图像数据的变换、编码和压缩等方面内容[1].在国内高等院校教学与科研中,其实验分析多用MATLAB、Visual C ++和JAVA,且以MATLAB为主。Python是一种面向对象、支持动态语义、内置高级数据结构、语法简洁优美、易于扩展的解释型脚本语言(script language)[2].与MATLAB相比,Python是一门更易学、更严谨的程序设计语言,最重要的是其开源和免费。其扩展库Num Py相当于Matlab,它提供了矩阵、线性代数、傅里叶变换等的解决方法,还包含Fortran代码集、C++代码集[3].虽然Python语言应用灵活、广范,但在数字图像处理中应用并不多见。为此,笔者以国内相关教材为参考[4],并省略实验的基本原理和实验公式的推导过程,主要借助开源跨平台计算机视觉库Open CV(Open Source Computer Vision Library) 已经实现了的图像处理和计算机视觉方面的通用算法[5],并且借鉴了PIL(Python Imaging Library Python,图像处理类库) 的处理方法,突出表现Python语言数据分析处理、绘图的基本过程,推动Python在数字图像处理课程的应用研究。
  
  1图像直方图
  
  图像是由像素构成,图像直方图是反映一个图像像素分布的统计表。其横坐标代表了图像像素的种类,可以是灰度的,也可以是彩色的; 纵坐标代表了每一种颜色值在图像中的像素总数或者占所有像素个数的百分比。在实际工程中,图像直方图在特征提取、图像匹配等方面都有很好的应用。Open CV中利用calc Hist方法完成图像直方图计算[6],本次研究中代码如下,其结果如图1.
  
  实例原图与RGB三色图像直方图
  
  img = cv2.imread(‘myson.jpg’)
  
  r,g,b = cv2.split(img)#利用通道分离技术,调整cv2和pyplot图像色彩通道顺序#
  
  img = cv2.merge( [b,g,r])
  
  plt.subplot(121) ,plt.imshow(img) ,plt.title(“ origin map”)
  
  color =(‘b','g','r’)#BGR三种颜色#
  
  plt.subplot(122)
  
  for i,col in enumerate(color) :#循环画出直方图#
  
  histr = cv2.calc Hist( [img],[i],None,[256],[0,256])
  
  plt.plot(histr,color = col)#画直方曲线#
  
  plt.xlim( [0,256])
  
  2空间滤波
  
  滤波是信号和图像处理中基本的任务,目的是根据应用环境的不同,选择性地提取图像中某些认为是重要的信息。空间滤波是一种采用滤波处理的影像增强方法。其理论基础是空间卷积。目的是改善影像质量,包括去除高频噪声与干扰。空域滤波器分为低通( 平滑) 滤波器和高通( 锐化) 滤波器,平滑滤波减弱傅立叶空间高频分量,用积分实现,锐化滤波减弱傅立叶空间低频分量,用微分实现[7]. opencv包中Gaussian Blur算法用于模糊,解决图像平滑一致问题;Sobel和Laplacian算法用于锐化,提高图像边缘清晰度问题。本次研究中Python使用Gaussian Blur和Laplacian算法,代码如下,其结果如图2.
  
  Gaussian模糊(左)和Laplacian锐化(右)
  
  img = cv2.imread(“ lena.png”,0)
  
  img = cv2.Gaussian Blur(img,(3,3) ,0)#用高斯平滑处理原图像降噪#
  
  gray_lap = cv2.Laplacian(img,cv2.CV_16S,ksize = 3)# Laplacian滤波,经验参数ksize设为3 #
  
  dst = cv2.convert Scale Abs(gray_lap)#将其转回原来的uint8形式,否则将无法显示图像#
  
相关标签:
  • 报警平台
  • 网络监察
  • 备案信息
  • 举报中心
  • 传播文明
  • 诚信网站