图像实验报告2
- 格式:docx
- 大小:602.86 KB
- 文档页数:11
图像处理实验报告图像处理实验报告一、引言图像处理是计算机科学与工程领域的一个重要研究方向,它涉及到对数字图像进行获取、处理、分析和显示等一系列操作。
本实验旨在通过使用图像处理技术,对一幅给定的数字图像进行处理和分析,以探索图像处理的原理和应用。
二、实验目的本实验有以下几个目的:1. 理解图像处理的基本概念和原理;2. 掌握图像处理的常用技术和方法;3. 熟悉图像处理软件的使用。
三、实验步骤1. 图像获取在本实验中,我们选择了一张风景图作为实验对象。
该图像是通过数码相机拍摄得到的,保存在计算机中的文件格式为JPEG。
我们使用图像处理软件将该图像导入到程序中,以便进行后续的处理和分析。
2. 图像预处理在进行图像处理之前,我们需要对图像进行预处理。
预处理的目的是去除图像中的噪声、平滑图像的边缘等。
我们使用了均值滤波和中值滤波两种常用的图像平滑方法。
通过对比两种方法的效果,我们可以选择合适的方法来进行图像预处理。
3. 图像增强图像增强是指通过一系列的操作,使得图像在视觉上更加鲜明、清晰、易于观察。
在本实验中,我们使用了直方图均衡化和灰度拉伸两种图像增强方法。
直方图均衡化通过对图像的像素值进行变换,使得图像的直方图更加均匀,从而增强图像的对比度。
灰度拉伸则是通过对图像的像素值进行线性变换,将图像的灰度范围拉伸到更广的范围内,从而增强图像的细节。
4. 图像分割图像分割是将图像分成若干个互不重叠的区域,每个区域具有一定的意义和特征。
在本实验中,我们使用了阈值分割和边缘检测两种图像分割方法。
阈值分割是指通过设置一个合适的阈值,将图像中的像素分为两个类别。
边缘检测则是通过检测图像中的边缘信息,将图像分割为不同的区域。
5. 图像特征提取图像特征提取是指从图像中提取出具有一定意义和特征的信息。
在本实验中,我们选择了纹理特征和颜色特征两种常用的图像特征提取方法。
纹理特征提取通过对图像的纹理进行分析,提取出图像的纹理特征。
图像增强实验报告图像增强实验报告引言:图像增强是数字图像处理中的重要技术之一,它可以通过改变图像的亮度、对比度、色彩等参数,使图像更加清晰、细节更加突出。
本实验旨在探究不同图像增强方法对图像质量的影响,并比较它们的效果。
一、实验目的通过实验比较不同的图像增强方法,包括直方图均衡化、拉普拉斯算子增强、灰度变换等,对图像质量的影响,了解各种方法的优缺点,为实际应用提供参考。
二、实验步骤1. 实验准备:准备一组包含不同场景、不同光照条件下的图像样本,以及实验所需的图像处理软件。
2. 直方图均衡化:将图像的直方图进行均衡化,使得图像的像素值分布更加均匀,从而提高图像的对比度和亮度。
3. 拉普拉斯算子增强:使用拉普拉斯算子对图像进行边缘增强,突出图像的细节和纹理。
4. 灰度变换:通过调整图像的灰度级别,改变图像的亮度和对比度,使图像更加清晰明亮。
5. 实验结果分析:对比不同图像增强方法处理后的图像,分析它们在视觉效果上的差异,并根据实验结果评估各种方法的优劣。
三、实验结果与讨论在本次实验中,我们选择了一张室内拍摄的暗淡图像作为样本进行增强处理。
首先,我们对该图像进行了直方图均衡化处理。
结果显示,通过直方图均衡化,图像的亮度和对比度得到了明显的提升,细节也更加清晰可见。
然而,由于直方图均衡化是全局处理,可能会导致图像的局部细节过于突出,从而影响整体视觉效果。
接下来,我们采用了拉普拉斯算子增强方法。
通过对图像进行边缘增强,图像的纹理和细节得到了突出展示。
然而,拉普拉斯算子增强也存在一定的局限性,对于噪声较多的图像,可能会导致边缘增强过程中出现伪影和锯齿现象。
最后,我们尝试了灰度变换方法。
通过调整图像的灰度级别,我们改变了图像的亮度和对比度,使图像的细节更加突出。
与直方图均衡化相比,灰度变换方法更加灵活,可以根据实际需求对图像进行个性化的调整。
综合对比三种图像增强方法的实验结果,我们可以得出以下结论:直方图均衡化适用于对整体亮度和对比度进行提升的场景;拉普拉斯算子增强适用于突出图像的边缘和纹理;灰度变换方法可以根据实际需求对图像进行个性化调整。
实验2a 图像的灰度变换一、实验目的:学会用Matlab软件对图像进行运算和灰度变换。
二、实验内容:用+、-、*、/、imabsdiff、imadd、imcomplment、imdivide、imlincomb、immultiply、imsubtract和imadjust等函数生成各类灰度变换图像。
三、实验相关知识1、代数运算两幅图像之间进行点对点的加、减、乘、除运算后得到输出图像。
我们可以分别使用MA TLAB的基本算术符+、-、*、/来执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型(命令函数为double())。
为了更方便对图像进行操作,图像处理工具箱中也包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。
如下所示:imabsdiff:计算两幅图像的绝对差值imadd:两个图像的加法imcomplment:一个图像的补imdivide:两个图像的除法imlincomb:计算两幅图像的线性组合immultiply:两个图像的乘法imsubtract:两个图像的减法使用图像处理工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。
代数运算的结果很容易超出数据类型允许的范围。
图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。
2、灰度变换点运算也称为灰度变换,是一种通过对图像中的每个像素值进行运算,从而改善图像显示效果的操作。
对于特定变换函数f的灰度变换,用户可以利用MATLAB强大的矩阵运算能力,对图像数据矩阵调用各种MATLAB计算函数进行处理。
需要注意的是由于MATLAB不支持uint8类型数据的矩阵运算,所以首先要将图像数据转换为双精度类型,计算完成后再将其转换为uint8类型(命令为uint8( ))。
图像的绘制实验报告1. 引言本实验旨在探索图像绘制的基本原理和方法,通过使用图像处理库和编程语言绘制简单的图像,加深对图像处理的理解和应用。
2. 实验器材和方法2.1 实验器材- 计算机- 编程语言:Python- 图像处理库:Pillow2.2 实验方法1. 安装Python和Pillow库2. 导入Pillow库3. 创建一个新的图像文件4. 绘制基本的几何图形3. 实验结果3.1 创建图像文件首先,我们使用Pillow库创建一个新的图像文件,并指定图像的尺寸和背景颜色:pythonfrom PIL import Image创建一个新的图像文件image = Image.new("RGB", (500, 500), "white")3.2 绘制基本的几何图形接下来,我们可以使用Pillow库提供的绘图函数,在图像文件上绘制几何图形。
例如,我们可以绘制一个红色的正方形:pythonfrom PIL import ImageDraw创建一个ImageDraw对象draw = ImageDraw.Draw(image)绘制一个红色的正方形draw.rectangle([(100, 100), (400, 400)], fill="red")除了正方形,我们还可以绘制其他几何图形,如圆形、椭圆、直线等。
3.3 保存图像文件最后,我们将绘制好的图像文件保存到本地:python保存图像文件image.save("result.png")4. 结论通过本次实验,我们学习了使用Pillow库进行图像处理的基本方法。
我们可以使用Pillow库创建一个新的图像文件,并在图像文件上绘制各种基本的几何图形。
这些方法和技巧对于图像处理和计算机视觉的研究和应用具有重要的意义和价值。
5. 参考文献[1] Pillow官方文档. Pillow Documentation. [Online] Available:[2] Python官方文档. PIL / Pillow ImageGui. [Online] Available:。
图像处理美工实验报告1. 实验目的本次实验旨在通过图像处理技术,提升图片的美观度。
通过对图像进行调整、修复、美化等处理,使得图片在色彩、对比度、清晰度等方面表现出更好的效果。
2. 实验环境- 操作系统:Windows 10- 编程语言:Python- 开发环境:Anaconda Navigator- 相关软件:Adobe Photoshop3. 实验过程3.1 图片调整首先,我们使用Adobe Photoshop对原始图片进行调整。
通过调整图片的亮度、对比度、色调等参数,使得图片的整体效果更加明亮、鲜艳。
3.2 图像修复接着,我们使用图像处理库中的算法对图片进行修复。
通过去除噪点、消除瑕疵、修复缺失等操作,使得图片中的细节更加清晰、完整。
3.3 图像滤镜在调整和修复完成后,我们尝试使用不同的滤镜效果来美化图片。
通过施加不同的滤镜效果,例如模糊、锐化、马赛克等,我们可以给图片加入一些艺术效果,使得图片更加具有视觉冲击力。
3.4 图像细节增强为了使得图片更加饱满、立体,我们可以对图片中的细节部分进行增强处理。
通过增强细节的锐度、增加线条的清晰程度,我们可以使得图片中的物体更加鲜活、立体。
3.5 色彩调整最后,我们对图片的色彩进行调整。
通过调整图片的色相、饱和度、明度等参数,我们可以让图片的色彩更加丰富、鲜艳。
同时,我们可以对不同色彩通道进行调整,使得图片的整体色调更加协调、统一。
4. 实验结果经过一系列的图像处理操作,我们成功提升了图片的美观度。
原始图片与经过处理后的图片相比,色彩更加明亮饱满,细节更加清晰,整体效果更加出色。
同时,通过施加不同的滤镜效果和调整色彩,我们还加入了一些艺术效果,提升了图片的视觉冲击力。
5. 总结通过本次实验,我们了解了图像处理技术在美工方面的应用。
图像处理可以对图片进行调整、修复、美化等操作,提升其美观度和质量。
合理使用图像处理技术,可以使得图片更加生动、吸引人,为设计和美工工作提供了有力的支持。
一、实验目的1、熟悉位图文件的文件格式,掌握位图数据读取并在屏幕上显示的方法。
2、掌握在计算机上进行直方图均衡化以及线性增强的方法。
3、通过实验体会一些主要的分割算子对图像处理的效果,以及各种因素对分割效果的影响。
4、熟练掌握应用MATLAB软件编程进行图像处理。
二、实验环境一台pc机,MATLAB软件编程环境。
三、实验内容1、图像的现实和读取:运用MATLAB软件编程,读取指定的256色灰度图像的数据,显示该文件的文件头和信息头数据的值,并在屏幕上显示该图象。
2、直方图的显示和均衡化:运用MATLAB软件编程,实现内容1中图像直方图的显示和均衡化。
3、图像分割:使用Prewitt 算子、Sobel 算子对图像进行边缘检测处理,完成图像分割实验。
4、图像增强:编写线性增强的程序及相应的显示程序,对指定图象进行线性增强,将原始图象及增强后的图象都显示于屏幕上,比较增强的效果。
四、实验步骤1、打开计算机,启动MATLAB程序。
2、图像读取与显示。
MATLAB中从图像文件中读取数据用函数imread(),这个函数的作用就是将图像文件的数据读入矩阵中,用imshow()函数显示出来。
imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg');imshow('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg');title('原图像')3、直方图的显示A=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); figure;imhist(A),title('对应直方图')4、直方图均衡化MATLAB提供了histeq函数(自动直方图均衡化)I=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); K=histeq(I);figure;imshow(K),title('经直方图均衡化后的图')figure;imhist(K),title('直方图均衡化后的直方图')5、图像的边缘检测用Sobel算子做边缘检测[A,map]=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); image=double(A);u=zeros(1,9);k=zeros(1,9);for i=2:255,for j=2:255,u(1)=0*image(i,j);u(2)=2*image(i,j+1);u(3)=1*image(i-1,j+1);u(4)=0*image(i-1,j);u(5)=-1*image(i-1,j-1);u(6)=-2*image(i,j-1);u(7)=-1*image(i+1,j-1);u(8)=0*image(i+1,j);u(9)=1*image(i+1,j+1);rimage1(i,j)=abs(sum(u));k(1)=0*image(i,j);k(2)=0*image(i,j+1);k(3)=1*image(i-1,j+1);k(4)=2*image(i-1,j);k(5)=1*image(i-1,j-1);k(6)=0*image(i,j-1);k(7)=-1*image(i+1,j-1);k(8)=-2*image(i+1,j);k(9)=-1*image(i+1,j+1);rimage2(i,j)=abs(sum(k));xiaoqiu(i,j)=rimage1(i,j)+rimage2(i,j);end,end,figure,imshow(xiaoqiu,map),title('Sobel锐化');用prewitt算子做边缘检测[A,map]=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg'); image=double(A);u=zeros(1,9);k=zeros(1,9);for i=2:255,for j=2:255,u(1)=0*image(i,j);u(2)=1*image(i,j+1);u(3)=1*image(i-1,j+1);u(4)=0*image(i-1,j);u(5)=-1*image(i-1,j-1);u(6)=-1*image(i,j-1);u(7)=-1*image(i+1,j-1);u(8)=0*image(i+1,j);u(9)=1*image(i+1,j+1);rimage1(i,j)=abs(sum(u));k(1)=0*image(i,j);k(2)=0*image(i,j+1);k(3)=-1*image(i-1,j+1);k(4)=1*image(i-1,j);k(5)=1*image(i-1,j-1);k(6)=0*image(i,j-1);k(7)=-1*image(i+1,j-1);k(8)=-1*image(i+1,j);k(9)=-1*image(i+1,j+1); rimage2(i,j)=abs(sum(k));xiaoqiu(i,j)=rimage1(i,j)+rimage2(i,j);end,end,figure,imshow(xiaoqiu,map),title('prewitt边缘检测');7、图像的处理均值滤波I=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg');h=fspecial('average',3);I2=uint8(round(filter2(h,I)));imshow(I2),title('均值滤波')中值滤波I=imread('C:\Users\weixiaoxu\Desktop\图像处理\图像处理.jpg','jpg');I3=medfilt2(I,[3,3]);imshow(I3),title('中值滤波')五、实验总结通过本次试验基本掌握了应用MATLAB软件编程进行图像处理的方法,熟悉了位图文件的文件格式,掌握了位图数据读取显示,直方图均衡化以及线性增强的方法,并学会了运用分割算子对图像进行边缘检测和图像分割处理的方法。
实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用与意义;4、观察图像点运算与几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。
三、实验原理1、图像灰度直方图、点运算与几何变换的基本原理及编程实现步骤图像灰度直方图就是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。
图像点运算就是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。
点运算可以瞧作就是“从象素到象素”的复制操作,而这种复制操作就是通过灰度变换函数实现的。
如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值与输出灰度值之间的转换关系。
一旦灰度变换函数确定,该点运算就完全确定下来了。
另外,点运算处理将改变图像的灰度直方图分布。
点运算又被称为对比度增强、对比度拉伸或灰度变换。
点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸与均衡等。
图像几何变换就是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放与图像旋转等,其理论基础主要就是一些矩阵运算,详细原理可以参考有关书籍。
实验系统提供了图像灰度直方图、点运算与几何变换相关内容的文字说明,用户在操作过程中可以参考。
下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法与频域法,点运算与几何变换属于空域法。
图形学实验报告图形学实验报告概述:在本次图形学实验中,我们将探索和学习计算机图形学的基本概念和技术。
通过实验,我们深入了解了图形学的原理和应用,以及如何使用计算机生成和处理图像。
实验一:像素和颜色在这个实验中,我们学习了图像是由像素组成的,每个像素都有自己的颜色值。
我们使用了Python编程语言和PIL库来创建一个简单的图像,并设置了不同的像素颜色。
通过改变像素的颜色值,我们可以创建出各种各样的图像效果。
实验二:坐标系统和变换在这个实验中,我们学习了坐标系统和图形变换。
我们使用OpenGL库来创建一个简单的二维图形,并通过平移、旋转和缩放等变换操作来改变图形的位置和形状。
这些变换操作使我们能够在屏幕上创建出各种不同的图案和效果。
实验三:线段和多边形在这个实验中,我们学习了如何使用线段和多边形来绘制图形。
我们使用了Bresenham算法来绘制直线,并学习了如何使用多边形填充算法来填充图形。
通过这些技术,我们可以创建出更加复杂和精细的图像。
实验四:光照和阴影在这个实验中,我们学习了光照和阴影的原理和应用。
我们使用了光照模型来模拟光线的传播和反射,以及计算物体的明暗效果。
通过调整光照参数和材质属性,我们可以创建出逼真的光照和阴影效果。
实验五:纹理映射和渲染在这个实验中,我们学习了纹理映射和渲染的概念和技术。
我们使用了纹理映射来将图像贴到三维物体表面,以增加物体的细节和真实感。
通过渲染技术,我们可以模拟光线的折射和反射,以及创建出逼真的材质效果。
实验六:三维建模和动画在这个实验中,我们学习了三维建模和动画的基本原理和方法。
我们使用了三维建模工具来创建三维模型,并学习了如何使用关键帧动画来实现物体的运动和变形。
通过这些技术,我们可以创建出逼真的三维场景和动画效果。
总结:通过这次图形学实验,我们深入了解了计算机图形学的原理和应用。
我们学习了像素和颜色、坐标系统和变换、线段和多边形、光照和阴影、纹理映射和渲染,以及三维建模和动画等技术。
大学新闻与传播学院实验教学中心实验报告实验名称图像处理指导教师洪杰文华滢年级08 学号23 成绩一、预习部分1、实验目的2、实验基本原理3、主要仪器设备(含必要的元器件、工具)1、实验目的:(1)熟悉和掌握数字图像的基本概念和技术指标,掌握色彩模式、图像分辨率、图像深度、图像文件格式与图像的显示效果、文件容量的关系。
(2)了解和掌握数字图像压缩的概念,观察不同的压缩比对图像的影响。
(3)了解和掌握图像中色彩的确定及选取方法,掌握前景色和背景色的概念及调整方法,掌握色彩填充的基本概念及应用。
(4)了解和掌握图像处理软件Photoshop的基本功能和基本使用方法,熟练掌握图层与选择区的基本使用方法。
(5)通过创造性的构图和对布局及色彩等的巧妙处理,一幅好的图画可以将一个主题以含蓄而又深刻的方式予以提示,并往往具有比单纯的语言文字更强的表现力。
在掌握图像处理基本概念和Photoshop基本使用方法的基础上,对已有的数字图像做一些基本的创意设计和编辑处理。
2、实验基本原理:基于photoshop软件的图像处理。
3、主要仪器设备(含必要的元器件、工具):Adobe Photoshop二、实验操作部分1、实验操作过程2、实验数据、观察到的实验现象1、实验操作过程:1.图像的基本变换(1)自选一幅不小于400×400pixel的彩色数字图像。
在Photoshop中打开该图像,记录其技术参数:文件格式、文件容量,图像尺寸(pixel和cm)、分辨率、色彩模式等。
文件格式:JPEG 图像;文件容量:59.7kb;图像尺寸(pixel和cm):600×600pixel;分辨率:72像素/英寸;色彩模式:RGB模式。
(2)对该图像重采样,要求采样后的图像分辨率为150dpi,图像尺寸为300×300pixel。
色彩模式分别变换成灰度、Indexed和RGB模式,按BMP格式分别保存成不同名称的图像文件;重新打开并观察变换后的显示效果,并记录各个文件的容量。
遥感数字图像处理实验报告(二)姓名:学号:班级:指导老师:1)项目名称:熟悉遥感软件、图像预处理2)实验目的:1. 熟悉遥感软件的使用,了解图像大小、投影、直方图等信息查看方法,了解相关软件的各项功能;2. 掌握遥感图像的几何精校正方法及步骤。
3)实验原理:几何校正就是将图像数据投影平面上,使其符合地图投影系统的过程。
而将地图坐标系统赋予到图像的过程,称为地理参考。
由于所有的地图投影系统都尊从于一定的地图坐标系统,所以几何校正的过程包含了地理参考过程。
对图像进行几何校正就是赋予其完整的地图坐标系统。
4)数据来源及数据基本信息:(下载源、波段数、对应的波长、分辨率、投影、地区)待校正图像来自Google Earth 2004年9月15日的影像,大致位置在东经116度20分,北纬33度57分,使用的是 DIGITAL GLOBLE 的QUICK BIRD卫星影像的0.6米分辨率的航拍照片,三波段,无投影。
待校正图像。
参考图像数据来自国际科学数据服务平台,Landsat5 2010年9月18日的图像,图像共7个波段,波段1-5和波段7的空间分辨率为30米,6波段(热红外波段)的空间分辨率为120米。
对应的波段、波长、分辨率、主要作用如表:图像采用的投影为WGS 84投影,条带号为122,行编号为36,覆盖豫东、皖北、苏北、鲁西四省交界地区。
5)实验过程:1)多波段合成:对参考图像数据进行波段组合2)打开图像,用两个Viewer窗口分别打开待校正图像和参考图像,查看其投影信息:待校正图像投影信息(无投影)参考图像投影信息(有投影)几何校正:————弹出图1窗口,点击Slecte Vewer——点击Viewer1,弹出图2窗口图1图4图3图2选择Polynomial多项式模型,OK——Polynomial Order选1,Map Units 选Meters,Apply, Close,弹出图3窗口,OK——点击Viewer窗口,选择要参考图像,弹出图4,点击OK,进入采点界面,开始采集地面控制点图5 图6图7采点完成后点击Geo Correction Tools 如(图5)中图标,弹出图6 对话框,输入保存路径,保存校正后的图像。
甘肃政法学院本科生实验报告( 一)姓名:周红学院:信息工程学院专业:信息管理与信息系统班级:2014级信管班实验课程名称:图形图像处理实验实验日期: 2017年4月27日开课时间: 2016-2017学年第二学期甘肃政法学院实验管理中心印制结果如下:图1_1_1椒盐噪声图高斯噪声代码如下:import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread('D:\\man.jpg',0)param=30grayscale=256w=img.shape[1]h=img.shape[0]newimg=np.zeros((h,w),np.uint8)for x in xrange(0,h):for y in xrange(0,w,2):r1=np.random.random_sample()r2=np.random.random_sample()z1=param*np.cos(2*np.pi*r2)*np.sqrt((-2)*np.log(r1))z2=param*np.sin(2*np.pi*r2)*np.sqrt((-2)*np.log(r1)) fxy=int(img[x,y]+z1)fxy1=int(img[x,y+1]+z2)if fxy<0:fxy_val=0eliffxy>grayscale-1:fxy_val=grayscale-1else:fxy_val=fxyif fxy1<0:fxy1_val=0elif fxy1>grayscale-1:fxy1_val=grayscale-1else:fxy1_val=fxy1newimg[x,y]=fxy_valnewimg[x,y+1]=fxy1_valplt.subplot(1,2,1),plt.imshow(img,'gray')plt.subplot(1,2,2),plt.imshow(newimg,'gray')结果如图:图1_1_2 高斯噪声结果图2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要求在同一窗口中显示。
采用3×3的椒盐噪声的低通滤波代码如下:import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread('G:\\lena.jpg',0)param=20w=img.shape[1]h=img.shape[0]newimg=np.array(img)noisecount=5000for i in xrange(0,noisecount):xi=int(np.random.uniform(0,newimg.shape[1]))xj=int(np.random.uniform(0,newimg.shape[0]))newimg[xj][xi]=255res=cv2.blur(newimg,(3,3))plt.subplot(1,2,1),plt.imshow(newimg,'gray')plt.subplot(1,2,2),plt.imshow(res,'gray')结果如图:图1_2椒盐噪声的低通滤波处理结果图3) 使用函数imfilter时,分别采用不同的填充方法(或边界选项,如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。
import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread('d:\\man.jpg',0)img1=np.float32(img)kernel=np.ones((5,5),np.float32)/25dst=cv2.filter2D(img1,-1,kernel)plt.subplot(1,2,1),plt.imshow(img1,'gray')plt.subplot(1,2,2),plt.imshow(dst,'gray')结果如图:图1_3 低通滤波处理结果图4) 运用for循环,将加有椒盐噪声的图像进行10次,20次均值滤波,查看其特点。
10次均值滤波代码如下:import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread('d:\\man.jpg',0)param=20w=img.shape[1]h=img.shape[0]newimg=np.array(img)noisecount=5000for i in xrange(0,noisecount):xi=int(np.random.uniform(0,newimg.shape[1])) xj=int(np.random.uniform(0,newimg.shape[0]))newimg[xj][xi]=255for k in range(1,10):res=cv2.blur(newimg,(3,3))plt.subplot(1,2,1),plt.imshow(newimg,'gray')plt.subplot(1,2,2),plt.imshow(res,'gray')结果如图:图1_4 10次均值滤波处理结果图20次均值滤波代码如下:import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread('D:\\man.jpg',0)param=20w=img.shape[1]h=img.shape[0]newimg=np.array(img)noisecount=5000for i in xrange(0,noisecount):xi=int(np.random.uniform(0,newimg.shape[1]))xj=int(np.random.uniform(0,newimg.shape[0]))newimg[xj][xi]=255for k in range(1,20):res=cv2.blur(newimg,(3,3))plt.subplot(1,2,1),plt.imshow(newimg,'gray')plt.subplot(1,2,2),plt.imshow(res,'gray')结果如图:图1_4 20次均值滤波处理结果图5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。
代码如下:import cv2import numpy as npimport matplotlib.pyplot as pltimg=cv2.imread('d:\\man.jpg',0)param=20w=img.shape[1]h=img.shape[0]newimg=np.array(img)noisecount=5000for i in xrange(0,noisecount):xi=int(np.random.uniform(0,newimg.shape[1]))xj=int(np.random.uniform(0,newimg.shape[0]))newimg[xj][xi]=255res1=cv2.blur(newimg,(3,3))res2=cv2.medianBlur(newimg,5)#plt.subplot(1,2,1),plt.imshow(newimg,'gray')plt.subplot(1,2,1),plt.imshow(res1,'gray')plt.subplot(1,2,2),plt.imshow(res2,'gray')结果如图:图1_5 均值滤波和中值滤波结果图2. 锐化空间滤波1) 读入图像,采用3×3的拉普拉斯算子对图像进行滤波。
代码如下:import cv2src=cv2.imread('d:\\man.jpg',0)src=cv2.GaussianBlur(src,(3,3),0)gray_lap=placian(src,cv2.CV_16S,ksize=3)dst=cv2.convertScaleAbs(gray_lap)cv2.imshow('Laplacian',dst)cv2.waitKey(0)cv2.destroyAllWindows()结果如图:图2_1 3×3拉普拉斯算子滤波2) 分别采用1×1,3×3,5×5和7×7大小的拉普拉斯算子对图像进行锐化滤波处理。
实验代码:import cv2src=cv2.imread('d:\\man.jpg',0)src=cv2.GaussianBlur(src,(3,3),0)gray_lap1=placian(src,cv2.CV_16S,ksize=1) dst1=cv2.convertScaleAbs(gray_lap1)cv2.imshow('Laplacian1',dst1)gray_lap2=placian(src,cv2.CV_16S,ksize=3) dst2=cv2.convertScaleAbs(gray_lap2)cv2.imshow('Laplacian2',dst2)gray_lap3=placian(src,cv2.CV_16S,ksize=5) dst3=cv2.convertScaleAbs(gray_lap3)cv2.imshow('Laplacian3',dst3)gray_lap4=placian(src,cv2.CV_16S,ksize=7) dst4=cv2.convertScaleAbs(gray_lap4)cv2.imshow('Laplacian4',dst4)cv2.waitKey(0)cv2.destroyAllWindows()结果如图:图3_1 1×1大小图3_2 3×3大小图3_3 5×5大小图3_4 7×7大小3) 采用不同的梯度算子对图像进行锐化滤波,并比较其效果。