第一篇:数字图像处理小论文+++++殷有烨++MZ11637
利用Sobel,Robert,Laplacian算子进行图像边缘检测
摘要:边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。图像的边缘检测算子有Sobel、Robert和 Laplacian等算子。对于用不同算子进行检测的图像会得到不同的效果。关键词:Sobel,Robert,Laplacian算子
一.图像边缘检测的简介
图像边缘检测大幅度地减少了数据量,并且剔除了可以认为不相关的信息,保留了图像重要的结构属性。有许多方法用于边缘检测,它们的绝大部分可以划分为两类:基于查找一类和基于零穿越的一类。基于查找的方法通过寻找图像一阶导数中的最大和最小值来检测边界,通常是将边界定位在梯度最大的方向。基于零穿越的方法通过寻找图像二阶导数零穿越来寻找边界,通常是Laplacian过零点或者非线性差分表示的过零点。
二.边缘检测的基本原理
人们对图像中的识别不是通过设置阈值来分割的,在灰度渐变的图像中无法区分其灰度变化的边界,但如果边界灰度有突变,则可以区分两个灰度不同的区域。这是基于灰度不连续性进行分割方法。
边缘的含义体现在灰度的突变上。在前面学习中讨论了如何使用差分,梯度,拉普拉斯算子及各种高通滤波器处理方法来对图像边缘进行增强。事实上,只要再进行一次阈值处理,便可以将边缘增强的方法用于边缘检测。但是需要注意的是,对边缘处理的目的已经不是对整幅图像的边缘进行加强,而是根据边缘来进行图像分割。边缘检测要按照图像的内容和应用的要求进行,可以先对图像做预处理,使边缘突出,然后选择合适的阈值进行分割。MATLAB边缘检测函数为BW=edge(I’,edge-finding methods’,THRESH,DIRECTION/SIGMA)methods’,THRESH,SIGMA)
或
BW=edge(I’,edge-finding 其中I为灰度图像,BW为返回的相同大小的二值图像。若检测到边沿则返回1,否则返回0。
Edge函数支持6种不同的边缘检测方法。‘sobel’指定Sobel方法,‘prewitt sobel’指定Prewitt sobel方法,‘roberts’指定Robert方法,‘log’指定Log方法(高斯-拉普拉斯算子),‘zerocross’指定(零交叉法),‘canny’指定坎尼方法(SIGMA为高斯滤波器的标准差)。THRESH指定分割方法的阈值。DIRECTION指定分割方法的方向,可以指定‘horizontal’(水平)或’vertical’(垂直)边缘,或‘both’(双向)边缘(默认值)。如果THRESH,DIRECTION,SIGMA默认,则由MATLAB指定相应的数值。
三. 边缘检测的方法
有许多用于边缘检测的方法, 他们大致可分为两类:基于搜索和基于零交叉。(1)基于搜索的边缘检测方法首先计算边缘强度,通常用一阶导数表示,例如梯度模,然后,用计算估计边缘的局部方向,通常采用梯度的方向,并利用此方向找到局部梯度模的最大值。
(2)基于零交叉的方法找到由图像得到的二阶导数的零交叉点来定位边缘。通常用拉普拉斯算子或非线性微分方程的零交叉点。
滤波做为边缘检测的预处理通常是必要的,通常采用高斯滤波。已发表的边缘检测方法应用计算边界强度的度量,这与平滑滤波有本质的不同。正如许多边缘检测方法依赖于图像梯度的计算,他们用不同种类的滤波器来估计x-方向和y-方向的梯度。
四.图象边缘检测的基本步骤
(1)滤波。边缘检测主要基于导数计算,但受噪声影响。但滤波器在降低噪声的同时也导致边缘强度的损失。
(2)增强。增强算法将邻域中灰度有显著变化的点突出显示。一般通过计算梯度幅值完成。(3)检测。但在有些图象中梯度幅值较大的并不是边缘点。最简单的边缘检测是梯度幅值阈值判定。
(4)定位。精确确定边缘的位置。
五.Sobel,Robert,Laplacian算子比较
(1)Sobel算子:Sobel算子和Prewitt算子都是加权平均,但是Sobel算子认为,邻域的像素对当前像素产生的影响不是等价的,所以距离不同的像素具有不同的权值,对算子结果产生的影响也不同。一般来说,距离越远,产生的影响越小。
(2)Robert算子:边缘定位准,但是对噪声敏感。适用于边缘明显且噪声较少的图像分割。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。(3)Laplacian算子:这是二阶微分算子。其具有各向同性,即与坐标轴方向无关,坐标轴旋转后梯度结果不变。但是,其对噪声比较敏感,所以,图像一般先经过平滑处理,因为平滑处理也是用模板进行的,所以,通常的分割算法都是把Laplacian算子和平滑算子结合起来生成一个新的模板。Laplacian算子一般不以其原始形式用于边缘检测,因为其作为一个二阶导数,Laplacian算子对噪声具有无法接受的敏感性;同时其幅值产生算边缘,这是复杂的分割不希望有的结果;最后Laplacian算子不能检测边缘的方向;所以Laplacian在分割中所起的作用包括:(1)利用它的零交叉性质进行边缘定位;(2)确定一个像素是在一条边缘暗的一面还是亮的一面;一般使用的是高斯型拉普拉斯算子(Laplacian of a Gaussian,LoG),由于二阶导数是线性运算,利用LoG卷积一幅图像与首先使用高斯型平滑函数卷积改图像,然后计算所得结果的拉普拉斯是一样的。所以在LoG公式中使用高斯函数的目的就是对图像进行平滑处理,使用Laplacian算子的目的是提供一幅用零交叉确定边缘位置的图像;图像的平滑处理减少了噪声的影响并且它的主要作用还是抵消由Laplacian算子的二阶导数引起的逐渐增加的噪声影响。
(4)另外一种非常重要的算法是坎尼(Canny)算子,这是坎尼在1986年写的一篇论文。他给出了断边缘提取方法性能的指标。而坎尼算子也是图像处理领域里的标准方法,也可以说是默认的方法。坎尼算子在使用时要提供给一些参数,用于控制算法的性能,实际上,对于不同的图或不同的边缘提取目的,应该提供不同的参数,以达到最佳效果。它也有模板运算方法,模板的大小也比较大,和提供的参数有关,标准的大小差不多是17*17,可以根据算子的可分离性用快速算法(否则就会慢的一塌糊涂),坎尼算子的2值化也很有特色,具有一定的智能性。
六.实验过程(1)实验目的
利用不同算子,对图像边缘进行检测。(2)实验内容
给定图像Lena.bmp,用Sobel、Robert和Laplacian算子进行边缘检测。把原始图像,用三种算子进行边缘检测后的图像同时显示出来,以供比较。(3)实验程序
源程序:
% 用Robert算子边缘检测 clear;img=imread('lena.bmp');img=double(img);a1=[-1,0;0,1];a2=[0,-1;1,0];z1=conv2(img,a1,'same');z2=conv2(img,a2,'same');r=sqrt(z1.^2+z2.^2);r=uint8(r);imwrite(r,'robert.bmp');subplot(1,1,1);imshow(r);title('robert算子检测');
% 用Sobel算子边缘检测 clear;img=imread('lena.bmp');img=double(img);a1=[-1,0,1;-2,0,2;-1,0,1];a2=[1,2,1;0,0,0;-1,-2,-1];z1=conv2(img,a1,'same');z2=conv2(img,a2,'same');s=abs(z1)+abs(z2);s=uint8(s);imwrite(s,'sobel.bmp');subplot(1,1,1);imshow(s);title('sobel算子检测');% 用Laplacian算子边缘检测 clear;img=imread('lena.bmp');img=double(img);a=[0,1,0;1,-4,1;0,1,0];z=conv2(img,a,'same');l=abs(z);l=uint8(l);imwrite(l,'laplacian.bmp');subplot(1,1,1);imshow(l);title('laplacian算子检测');% 将四张图像同时显示,以便比较 clear;subplot(2,2,1);imshow('lena.bmp');title('原始图像');subplot(2,2,2);imshow('robert.bmp');title('robert算子检测');subplot(2,2,3);imshow('sobel.bmp');title('sobel算子检测');subplot(2,2,4);imshow('laplacian.bmp');title('laplacian算子检测');
(4)实验结果:
七.实验结果分析
由实验结果可以看出,对此图用Sobel算子进行边缘检测效果最好,因为Sobel算子有一定的噪声抑制能力,在检测阶跃边缘时得到的边缘宽度至少为二象素。二阶微分Laplacian算子对噪声更敏感,它使噪声成分加强,故对此图用Laplacian算子检测效果最差。Robert梯度是以(x-1/2,y-1/2)为中心的,在这个中心点上连续梯度的近似,所以用Robert算子检测实际效果相对Laplacian算子较好,但较Sobel算子为差。
第二篇:《数字图像处理》结课小论文
2013-2014年第一学期《数字图像处理》科目考查卷
专业:通信工程 班 级: 任课教师:王新新 姓名: 学 号: 成 绩:
一 Deblurring Images Using the Wiener Filter ——使用维纳滤波器进行图像去模糊简介
在人们的日常生活中,常常会接触很多的图像画面,而在景物成像的过程中有可能出现模糊,失真,混入噪声等现象,最终导致图像的质量下降,我们现在把它还原成本来的面目,这就叫做图像还原。引起图像的模糊的原因有很多,举例来说有运动引起的,高斯噪声引起的,斑点噪声引起的,椒盐噪声引起的等等,而图像的复原也有很多,常见的例如逆滤波复原法,维纳滤波复原法,约束最小二乘滤波复原法等等。它们算法的基本原理是,在一定的准则下,采用数学最优化的方法从退化的图像去推测图像的估计问题。因此在不同的准则下及不同的数学最优方法下便形成了各种各样的算法。而我接下来要介绍的算法是一种很典型的算法,维纳滤波复原法。它假定输入信号为有用信号与噪声信号的合成,并且它们都是广义平稳过程和它们的二阶统计特性都已知。维纳根据最小均方准则,求得了最佳线性滤波器的的参数,这种滤波器被称为维纳滤波器。
维纳滤波器是最小均方差准则下的最佳线性滤波器,它在图像处理中有着重要的应用。本文主要通过介绍维纳滤波的结构原理,以及应用此方法通过MATLAB函数来完成图像的复原。关键词:维纳函数、图像复原。
二 维纳滤波器结构
维纳滤波自身为一个FIR或IIR滤波器,对于一个线性系统,如果其冲击响应为h(n),则当输入某个随机信号x(n)时,式(1)
这里的输入
式(2)
式中s(n)代表信号,v(n)代表噪声。我们希望这种线性系统的输出是尽可能地逼近s(n)的某种估计,并用s^(n)表示,即
式(3)
因而该系统实际上也就是s(n)的一种估计器。这种估计器的主要功能是利用当前的观测值
x(n)以及一系列过去的观测值x(n-1),x(n-2),……来完成对当前信号值的某种估计。维纳滤波属于一种最佳线性滤波或线性最优估计,是一最小均方误差作为计算准则的一种滤波。设信号的真值与其估计值分别为s(n)和)s^(n),而它们之间的误差
式(4)
则称为估计误差。估计误差e(n)为可正可负的随机变量,用它的均方值描述误差的大小显然更为合理。而均方误差最小,也就是
式(5)
最小。利用最小均方误差作为最佳过滤准则比较方便,它不涉及概率的描述,而且以它导出的最佳线性系统对其它很广泛的一类准则而言是属最佳。
图1 维纳滤波器一般结构
三、维纳滤波器的局限
维纳滤波复原法存在着几个实质性的局限。第一,最有标准是基于最小均方误差的且对所有误差等权处理,这个标准在数学上可以接受,但却是个不适合人眼的方式,原因在于人类对复原错误的感知在具有一致灰度和亮度的区域中更为严重,而对于出现在暗的和高梯度区域的误差敏感性差得多。第二,空间可变的退化不能用维纳滤波复原法复原,而这样的退化是常见的。第三,维纳滤波不能处理非平稳信号和噪声。
四、模拟仿真
运行程序及结果
% 读入图像
The example reads in an RGB image and crops it to be 256-by-256-by-3.The deconvwnr function can handle arrays of any dimension.I = imread('peppers.png');I = I(10+[1:256],222+[1:256],:);figure;imshow(I);title('Original Image');
图2 原始图像
% 图像模拟模糊处理。模拟一个真实的图像,可以模糊。摄像机运动。示例创建一个point-spread函数PSF,对应直线运动在31个像素(LEN = 31),在11度角(θ= 11)。模拟模
糊,过滤器是使用imfilter convolved与形象。
Simulate a a real-life image that could be blurred e.g., by camera motion.The example creates a point-spread function, PSF, corresponding to the linear motion across 31 pixels(LEN=31), at an angle of 11 degrees(THETA=11).To simulate the blur, the filter is convolved with the image using imfilter.LEN = 31;THETA = 11;PSF = fspecial('motion',LEN,THETA);Blurred = imfilter(I,PSF,'circular','conv');figure;imshow(Blurred);title('Blurred');
图3图像模拟模糊处理
%恢复模糊图像。真正的PSF由模糊变清晰,这个例子执行三个修复
wnr1 = deconvwnr(Blurred,PSF);figure;imshow(wnr1);title('Restored, True PSF');
图4恢复模糊图像
% 第二个恢复使用估计PSF,模拟运动模糊长度的两倍长(LEN)。
wnr2=deconvwnr(Blurred,fspecial('motion',2*LEN,THETA));figure;imshow(wnr2);title('Restored, “Long” PSF');
图5两倍长模糊处理
%第三恢复使用估计PSF,模拟运动两倍陡峭的角度模糊角度(θ)。
wnr3=deconvwnr(Blurred,fspecial('motion',LEN,2*THETA));figure;
imshow(wnr3);title('Restored, Steep');
图6两倍陡峭的角度处理
% 模拟加性噪声。模拟使用态分布随机数相加噪声,并将它添加到模糊图像,模糊。
noise = 0.1*randn(size(I));BlurredNoisy = imadd(Blurred,im2uint8(noise));figure;imshow(BlurredNoisy);title('Blurred & Noisy');
图7模拟加性噪声处理
%恢复图像模糊处理。
恢复模糊和噪声图像使用一个逆滤波器,假设zero-noise,并比较这第一个结果实现了在步骤3中,wnr1。噪声呈现在原始的数据显著放大。
wnr4 = deconvwnr(BlurredNoisy,PSF);figure;imshow(wnr4);title('Inverse Filtering of Noisy Data');
图8恢复噪声图像
%控制噪声放大,NSR功能提供了信噪比。
NSR = sum(noise(:).^2)/sum(im2double(I(:)).^2);wnr5 = deconvwnr(BlurredNoisy,PSF,NSR);figure;imshow(wnr5);title('Restored with NSR');
图9 NSR功能恢复噪声图像
%不同NSR值影响恢复的结果。小NSR值放大噪声
wnr6 = deconvwnr(BlurredNoisy,PSF,NSR/2);figure;imshow(wnr6);title('Restored with NSR/2');
图10 小NSR功能恢复噪声图像
%使用自相关来提高图像恢复
改进模糊的恢复和嘈杂的图像,提供完整的自相关函数(ACF)噪音,NCORR,和信号,ICORR NP = abs(fftn(noise)).^2;NPOW = sum(NP(:))/prod(size(noise));% noise power NCORR = fftshift(real(ifftn(NP)));% noise ACF, centered IP = abs(fftn(im2double(I))).^2;IPOW = sum(IP(:))/prod(size(I));% original image power ICORR = fftshift(real(ifftn(IP)));% image ACF, centered
wnr7 = deconvwnr(BlurredNoisy,PSF,NCORR,ICORR);figure;imshow(wnr7);title('Restored with ACF');
图11 自相关来提高图像恢复
%探索修复提供了有限的统计信息:权力的噪音,NPOW,和一个单维的自相关函数的真实形象,ICORR1 ICORR1 = ICORR(:,ceil(size(I,1)/2));wnr8 = deconvwnr(BlurredNoisy,PSF,NPOW,ICORR1);figure;imshow(wnr8);title('Restored with NP & 1D-ACF');
图12 单维自相关来提高图像恢复
五、结论与心得体会
通过这个实验,使我们更加深刻和具体的了解到了维纳滤波的原理,功能以及在图像处理方面的应用。维纳滤波器是对噪声背景下的信号进行估计,它是最小均方误差准则下的最佳线性滤波器。在实验的过程中,我发现采用维纳滤波复原可以得到比较好的效果,这个算法可以使估计的点扩散函数值更加接近它的真实值。但实现维纳滤波的要求是输入过程是广义平稳的;输入过程的统计特性是已知的。根据其他最佳准则的滤波器也有同样的要求。然而,由于输入过程取决与外界信号,干扰环境,这种环境的统计特性常常是未知的,变化的,因而这两个要求很难满足,这就促使人们研究自适应滤波器。
通过本次实验,深深地了解了图像处理是一门既有用又有难度的一门学科,需要我们认真的学习,自己在学习上还有很多的漏洞,在以后的学习中会更加的努力上进,做一个引以为自豪的人。
参考文献
《数字图像处理》,2007年,清华大学出版社。
《数字图像处理(第3版)》,2010年,科教出版社。
《基于0penCV的计算机视觉技术实现》,2001,科学出版社。《计算机图像处理》,2005,武汉大学出版社。
第三篇:数字图像处理界面切换技术结课论文
彩色图像界面切换技术研究与设计
摘 要
数字图像处理(Digital Image Processing)是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。在日常生活中,图像处理已经得到了广泛应用,例如:电脑人像艺术,电视中的特殊效果,自动售货机钞票的识别,邮政编码的自动识别和利用指纹、虹膜、面部等特征的身份识别等。图像的特技切换是计算机软件开发,尤其是多媒体软件设计中经常遇到的问题。
本文就所学到的微薄知识对利用VB程序设计实现彩色图像界面切换技术做以基本阐述。
关键字:数字图像处理 计算机软件开发 界面切换
一、数字图像处理概述: 数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。数字图像处理的产生和迅速发展主要受三个因素的影响:一是计算机的发展;二是数学的发展(特别是离散数学理论的创立和完善);三是广泛的农牧业、林业、环境、军事、工业和医学等方面的应用需求的增长。图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。图像处理技术在许多应用领域受到广泛重视并取得了重大的开拓性成就,属于这些领域的有航空航天、生物医学工程、工业检测、机器人视觉、公安司法、军事制导、文化艺术等,使图像处理成为一门引人注目、前景远大的新型学科。
数字图像处理的目的:一般来说,图像进行处理(或加工、分析)的主要目的有三个方面:
(1)提高图像的视感质量,如进行图像的亮度、彩色变换,增强、抑制某些分,对图像进行几何变换等,以改善图像的质量。
(2)提取图像中所包含的某些特征或特殊信息,这些被提取的特征或信息往往为计算机分析图像提供便利。提取特征或信息的过程是模式识别或计算机视觉的预处理。提取的特征可以包括很多方面,如频域特征、灰度或颜色特征、边界特征、区域特征、纹理特征、形状特征、拓扑特征和关系结构等。
(3)图像数据的变换、编码和压缩,以便于图像的存储和传输。
不管是何种目的的图像处理,都需要由计算机和图像专用设备组成的图像处理系统对图像数据进行输入、加工和输出。
在日常生活中,图像处理已经得到了广泛应用。例如:电脑人像艺术,电视中的特殊效果,自动售货机钞票的识别,邮政编码的自动识别和利用指纹、虹膜、面部等特征的身份识别等。
二、系统总体分析 2.1 窗口设计
图像的界面切换主要是指图像进入界面时的显示方式,也就是按不同的规律显示图像中的各个像素点。
根据需要在窗体上配置必要的控件,并修改相应的值,如图1所示,图片框用于显示图像,命令按钮“获取图像”用于选择指定图像文件,并且将图像显示在图片框内。命令按钮“退出”用于退出该窗口,其他命令的具体作用将在下文列举。
图1 添加控件及修改名称
以同样的方式添加其他控件按钮,如上下对接进入、从坐上到右下进入、从中央到四周扩散、以斜线方式进入、以渐显方式进入、利用Bitlit函数实现界面切换和以工字型进入等控件按钮。如图2所示:
图2 窗格及控件按钮
2.2 程序设计及实现过程
下面通过几个具有代表性的界面切换实现过程,对界面切换技术加以简单阐述。2.2.1 读图像数据
单击“读图像数据”命令按钮,相应的单击事件程序为: Private Sub Command1_Click()’以二进制的方式打开文件对话框中用户选择的图像文件 On Error GoTo Err CommonDialog1.Filter = “(*.*)|*.*|(*.gif)|*.gif|(*.bmp)|*.bmp|(*.jpg)|*.jpg” CommonDialog1.ShowOpen Picture1.Picture = LoadPicture(CommonDialog1.FileName)Err: Exit Sub End Sub Private Sub Command2_Click()End 通过该程序选择.jpg文件实现图像的读取,如图3所示。
图3 获取图像的实现
2.2.2 图像从上下对接进入界面
图像以上下对接方式进入界面时,首先显示图像的第一行和最后一行,然后显示图像的第二行和倒数第二行,以此类推,最后将图像中所有的像素显示出来。其实现过程如图4所示。
图4 图像以上下对接方式进入界面的过程图
对该控制命令进行VB编程如下: Private Sub Command3_Click()Picture2.Picture = Picture3.Picture width2 = Picture1.ScaleWidth height2 = Picture1.ScaleHeight
For j = 0 To height2 / 2
For i = 0 To width2jj1
For j = 0 To i
c1 = Picture1.Point(i, j)
rr1 = c1 Mod 256
gg1 = c1 / 256 Mod 256
bb1 = c1 / 65536 If j < height2 And i < width2 Then Picture2.PSet(i, j), RGB(rr1, gg1, bb1)
c2 = Picture1.Point(j, i)
rr2 = c2 Mod 256
gg2 = c2 / 256 Mod 256
bb2 = c2 / 65536 If j < width2 And i < height2 Then Picture2.PSet(j, i), RGB(rr2, gg2, bb2)
Next j Next i End Sub 2.2.4 图像从中央向四周扩散进入界面
图像从中央向四周扩散进入界面时,首先显示的是中心点像素,然后显示图像中心点周围的像素,依次类推,每次显示当前已显示像素的周围一圈像素,最后将图像中所有像素显示出来.如图6所示。
图6 图像从中央向四周扩散进入界面
图像从中央向四周扩散进入界面的程序代码如下: Picture2.Picture = Picture3.Picture w = Picture1.ScaleWidth h = Picture1.ScaleHeight x0 = w 2 y0 = h 2 rmax = Int(Sqr(x0 ^ 2 + y0 ^ 2))For r = 1 To rmax
dc = 1 /(6.28 * r)
For c = 0 To 6.28 Step dc
x = x0 + r * Cos(c)
y = y0 + r * Sin(c)
c1 = Picture1.Point(x, y)
If x >= 0 And x < w1 Then
rr1 = c1 Mod 256
gg1 = c1 / 256 Mod 256
bb1 = c1 / 65536
Picture2.PSet(x0, y0), RGB(rr1, gg1, bb1)
Picture2.PSet(x, y), RGB(rr1, gg1, bb1)
End If
Next c Next r End Sub 2.2.5 图像以斜线方式进入界面
图像以斜线方式进入界面时,首先显示图像的左上角像素,然后以斜线方式显示当前已显示像素的下一个斜线上的像素,最后将图像中所有像素都显示出来。显示过程如图7所示。
图7 图像以斜线方式进入界面的过程图
其对应的程序代码为: Picture2.Picture = Picture3.Picture w = Picture1.ScaleWidth
h = Picture1.ScaleHeight Max = If(h < w, w, h)For d = 0 To 2 * Max y = d For x = 0 To d
If x < w And y < h Then
c1 = Picture1.Point(x, y)
rr1 = c1 Mod 256
gg1 = c1 / 256 Mod 256
bb1 = c1 / 65536
Picture2.PSet(x, y), RGB(rr1, gg1, bb1)
End If
y = y1 Step 2
For i = 0 To w1 Step 2
For i = 1 To w1 Step 2
For i = 1 To w1 Step 2
For i = 0 To w-1 Step 2
c1 = Picture1.Point(i, j)
rr1 = c1 Mod 256
gg1 = c1 / 256 Mod 256
bb1 = c1 / 65536
Picture2.PSet(i, j), RGB(rr1, gg1, bb1)
Next i Next j End Sub 2.2.7利用Bitblt函数实现界面切换
Bitblt是Windows API函数,它用于从源对象向目标对象成块复制图形,该函数对指定的源设备环境区域中的像素进行位块(bit block)转换,以传送到目标设备环境。其实现过程如图9所示:
图9 Bitblt图像进入效果
其实现程序为:
Picture2.Picture = Picture3.Picture
w = Picture1.ScaleWidth
h = Picture1.ScaleHeight For i = 0 To w / 10 + 1
For j = 0 To 10
Bitblt Picture2.hDC, j * w / 10, 0, i, h, Picture1.hDC, j * w / 10, 0, &HCC0020
DoEvents
Delay 100000
Next j Next i End Sub
三、课程总结及心得体会
通过本学期对数字图像处理课程的学习,我掌握了基本的知识和操作技能,了解了数字图像处理作为一门理论性和实用性很强学科,在日常生活中有很多的用处,例如电脑人像艺术,电视中的特殊效果,自动售货机钞票的识别,邮政编码的自动识别和利用指纹、虹膜、面部等特征的身份识别等。本文仅就简单的界面切换技术以巩固所学的基本VB操作能力和图像处理知识,这是我大学学习中的又一项技能。
第四篇:数字图像处理_平均滤波与中值滤波(含MATLAB代码)[小编推荐]
数字图像处理实验二
15生医
一、实验内容
产生教材104页题图4.18(右图)所示的二值图像(白为1,黑为0),编程实现习题4.18所要求的处理(3x3的平均滤波和中值滤波)功能(图像四周边界不考虑,处理结果按四舍五入仍取0或1),显示处理前后的图像,比较其异同。
二、运行环境 MATLAB R2014a
三、运行结果及分析
1.四种不同的窗的3x3平均滤波
4邻域平均滤波后图像8邻域平均滤波后图像4邻域加权平均滤波后图像8邻域加权平均滤波后图像
①在MATLAB图形窗界面进行放大可以看出四者之间的差别: 4领域与8邻域之间没有明显差别,但是加权与未加权之间的差别较为明显,体现在:加权后每个矩形块的四个尖角部分都被保留了下来(图像四周边界不考虑),而未加权的尖角处黑色变为白色。②原因分析:
加权后尖角处原来白色的点(1)进行计算3/5=0.6四舍五入后值为1,保持白色,原来黑色的点(0)进行计算2/5=0.4四舍五入后值为0,保持黑色;而未加权尖角处无论原来是黑色还是白色,进行计算2/4=0.5四舍五入后值为1,所以原先的黑色(0)也变成了白色(1)。③下图为放大后的截图:
2.中值滤波与原图像的对比 原图像中值滤波后图像
①在MATLAB图形窗界面进行放大后可观察出:
使用3x3方形中值滤波模板的效果与4领域、8领域加权平均滤波的效果相同,每个矩形块的四个尖角部分都被保留了下来(图像四周边界不考虑)。②原因分析:
套用3x3方形中值滤波模板后,尖角处原来白色的点(1)在窗内1多于0,取中值后仍保持白色,原来黑色的点(0)在窗内0多于1,取中值后仍保持白色。③下图为放大后的截图:
四、心得体会
通过MATLAB编程更加理解了课后题的计算结果,直观地看出了黑白像素点灰度值变化前后的取值异同。同时,对MATLAB实现像素点灰度值的替换机理也有所掌握,比如后边附的程序中会提到的“%”标注的思考。
五、具体程序
% 生成黑白块图像
unit=zeros(64,64);f=zeros(256,256);for i=1:1:32 for j=1:1:32 unit(i,j)=1;% 1/4白块 end end for i=33:1:64 for j=33:1:64 unit(i,j)=1;% 1/4白块 end end for i=1:64:256 for j=1:64:256 f(i:i+63,j:j+63)=unit;end end
% 对原图像进行3x3平均滤波 for i=2:1:255 for j=2:1:255 fave4(i,j)=(f(i-1,j)+f(i+1,j)+f(i,j-1)+f(i,j+1))/4;
fave8(i,j)=(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1))/8;
fave4_weighted(i,j)=(f(i-1,j)+f(i+1,j)+f(i,j-1)+f(i,j+1)+f(i,j))/5;
fave8_weighted(i,j)=(f(i-1,j-1)+f(i-1,j)+f(i-1,j+1)+f(i,j-1)+f(i,j+1)+f(i+1,j-1)+f(i+1,j)+f(i+1,j+1)+f(i,j))/9;end end fave4=round(fave4);%平均后灰度值有可能是小数,要取整 fave8=round(fave8);fave4_weighted =round(fave4_weighted);fave8_weighted =round(fave8_weighted);subplot(2,2,1);imshow(fave4);title('4邻域平均滤波后图像');subplot(2,2,2);imshow(fave8);title('8邻域平均滤波后图像')subplot(2,2,3);imshow(fave4_weighted);title('4邻域加权平均滤波后图像')subplot(2,2,4);imshow(fave8_weighted);title('8邻域加权平均滤波后图像')
4邻域平均滤波后图像8邻域平均滤波后图像4邻域加权平均滤波后图像8邻域加权平均滤波后图像
% 对原图像进行3x3方形中值滤波 for i=2:1:255 for j=2:1:255
a=[f(i-1,j-1),f(i-1,j),f(i-1,j+1),f(i,j-1),f(i,j),f(i,j+1),f(i+1,j-1),f(i+1,j),f(i+1,j+1)];b=sort(a);% 排序函数
fmid(i,j)=b(5);% 9个数排序的中值 end end subplot(1,2,1);imshow(f);title('原图像');subplot(1,2,2);imshow(fmid);title('中值滤波后图像')
原图像中值滤波后图像
第五篇:正确认识处理新疆问题小论文(材料)
正确认识处理新疆问题
新疆是一个机遇与挑战并存的地区。土地面积占国土面积约六分之一,地域辽阔、资源丰富,自古就是中国与欧亚大陆交往的“丝绸之路”,充满经济发展的可能性和优越性。与此同时,由于地处中国西部,且多民族聚居,易产生民族纠纷。近年来境外“东突”势力不顾新疆各族人民福祉,在疆内制造多起恐怖事件,严重阻碍新疆的发展。如何在快速发展的同时正确认识处理民族问题是我们共同面对的挑战。
这些年来,很多汉族人对新疆少数民族同胞,尤其是维吾尔族同胞存在偏见。认为他们是民族分裂的“不法分子”。这种民族偏见也存在于维吾尔族对汉族人的看法中。这种相互的偏见最终被真正的不法分子利用,就会造成例如“乌鲁木齐7·5事件”等影响社会安定的**。
频繁发生的**严重影响新疆人民的正常生活和新疆现代化建设,为了稳定地发展,必须努力解决新疆民族问题,而解决民族问题的关键就要从改善新疆人民尤其是少数名族民生问题入手。“以人为本”,改善民生问题不仅可以缓解当下新疆各界的民族矛盾,也是落实科学发展观的重要体现。
对于处理民族问题要从以下几点入手:
一、正确认识新疆民族宗教问题
(一)民族宗教问题的国际性 由于历史及地理的原因,新疆有9个民族是跨国界而居。其中包括哈萨克族、维吾尔族、回族这几个新疆较大的民族。这些民族与周边国家的跨界民族有着几乎相同的文化传统和极其相似的风俗习惯。全世界有12亿人信仰伊斯兰教,新疆就有1000万。操突厥语、信仰伊斯兰教的人从新疆到中亚国家在语言和宗教方面几乎是畅通无阻。因此,新疆的民族宗教问题在某种意义上说还具有一定的国际性。
(二)民族宗教问题的复杂性
据资料查询知在18世纪20年代,由于泛伊斯兰主义和泛突厥主义在新疆的影响,地下经文学校、讲经堂、习武所等各种非法民族宗教势力有所抬头。其中包括“伊扎布特”等一些非法宗教组织开始向学校中的青少年渗透。特别是极端民族分裂势力、极端宗教势力和极端恐怖势力对新疆的威胁加大。加上西方敌对势力的介入,他们常常利用民族宗教问题向党和政府发难,使新疆的民族宗教问题呈现出较为严重的复杂性。
(三)民族宗教问题的敏感性
由于新疆是民族区域自治地区,民族宗教无小事,但由于民族宗教问题的国际性和复杂性,因而大家对民族宗教问题的处理都比较敏感。有相当一部分人面对民族宗教问题总是抱着多一事不如少一事,大事化小、小事化了的态度。于是,逐步形成了面对民族宗教问题时许多人都有“不敢管”和“管不了”的心态。
二、大力推进少数民族地区的经济、文化建设 新疆少数民族文化,是中华文化的一部分,也是世界文化的一部分。使用少数民族的语言文字、保护少数民族的文化遗产、繁荣少数民族的文化艺术,这一直是我国民族政策的重要内容,并在多年的实施过程中起到了弘扬民族传统文化、增强民族凝聚力的作用。但是,我们也应看到,在现实生活中,出现了把一些已被历史所淘汰的遗风陋习当作民族文化重新加以推崇的现象。这其中一部分人是由于对民族宗教政策的理解存在偏差,只要正确地加以引导即可;但其中也有一些别有用心的人,有意地强调和突出民族差别,企图激化民族矛盾,制造不稳定因素,对这些人,我们一定要提高警惕,坚决予以打击,在弘扬民族文化的同时也要认识和容纳其它先进文化,坚持使民族文化的发展跟紧时代进步的潮流。
生活在一定文化氛围中的人的意识不可避免地会受到它的深刻影响。群众支持、理解是文化阵地巩固的前提,同时文化阵地的巩固也有利于获得群众支持理解,是巩固社会主义思想基础的前提,更严肃地说,这是一个政治问题,直接关系到祖国统一、民族团结和各族人民的根本利益,直接关系到新疆的长治久安。因此,我们在文化宣传阵地的管理方面,更要进一步健全各项制度,在管理层面上对宣传有一个明确的界定和清醒的认识,决不为错误的东西提供传播渠道,使文化阵地更为健康、纯净。同时,对于大多数群众来说,加强国家观、民族观宗教观、历史观及文化观的教育也是非常必要的。
对于新疆的经济建设,应该继续走西部大开发战略,结合目前的社会现状,可以由新疆的一部分人先富起来,带动后富,达到共同富裕的建设目标。同时,对于新疆的人才流失问题也要有较为深刻的认识,可以采用大学生援疆政策,这样不仅可以缓解东部发达地区的就业压力还能对新疆的经济建设起到重要的作用。
对于经济建设还可以由内陆较为发达的地区带动新疆贫困市县,不仅要在技术和资金上的赞助,还有在教育方面的支持。
三、“积极引导适应”是处理少数民族宗教问题的基本途径 宗教为什么必须同社会主义社会相适应?在庞大而复杂的社会系统中,宗教属于上层建筑,尽管它远离物质经济基础,但归根结底也必须服从被经济基础所决定这一客观规律,依赖、适应一定的经济政治制度。宗教只有在社会中找准自己的位置,才能发挥自己应有的社会作用,也才会有利于自身的存在和发展。从历史事实来看,宗教的演变实质上也都是宗教适应一定社会的过程。从社会主义社会的发展来看,当然同样要求宗教与其相适应。
积极引导宗教与社会主义社会相适应,总的来说就是党和政府要全面正确地贯彻宗教信仰自由政策,依法管理宗教事务,诚挚热心地带领广大信教群众和宗教界人士积极投入建设现代化的社会主义强国的伟大事业中,使宗教在社会主义社会的发展中找到自己的位置,发挥自己特有的优势,成为推动建设中国特色社会主义的积极因素。这里强调的“相适应”,主要是要求宗教将自身的发展和进步,与搞好社会主义建设、振兴中华民族的伟大目标协调、统一起来。当然,这种“相适应”只是要求宗教界爱国守法,逐步改革与社会主义社会不相适应的宗教制度,利用宗教教义、宗教教规和宗教道德中的某些积极因素为社会主义事业服务,并不要求宗教信徒放弃有神论的思想和信仰。
在新的历史条件下,只有进一步积极引导宗教与社会主义社会相适应,才能更好地团结广大信教群众和宗教界人士,为社会主义建设事业服务。
新疆的民族问题不是短时间内所形成的,而是在长久的历史积淀下所确定的,对于这样的可谓是棘手问题,我们要以长久的眼光去看待,针对新疆的一些特惠政策我们要履行到底。相信随着中国的发展以及社会主义的不断完善,新疆问题会得到一个较好的解答。
信息学院: ***