文档库 最新最全的文档下载
当前位置:文档库 › 图像增强参考程序

图像增强参考程序

图像增强参考程序
图像增强参考程序

反色function Inverse_Callback(hObject, eventdata, handles)

x=imread(‘*.bmp’)

y=255-x;

直方图均衡HisteQ_Callback(hObject, eventdata, handles)

x= imread(‘*.bmp’)

N=256;

[row,col]=size(x);

p=zeros(N);

for i=1:row*col;

p(x(i)+1)=p(x(i)+1)+1; %%%%%%%计算灰度值为i的个数,类

似%%%%%p(i+1)=length(find(x==i))/(m*n);

end

p=(double(p))/(row*col);

for k=2:N

p(k)= p(k) + p(k-1) ;

end

s=fix(256*p);

for i=1:row*col;

x(i)=s(x(i)+1)-1;

end

阈值变换

x= imread(‘*.bmp’)

prompt={'Threshold(0~255):'};

name='Input for Thresholding';

numlines=1;

defaultanswer={'50'};

anss=inputdlg(prompt,name,numlines,defaultanswer);

th=str2num(anss{1});

[row,col]=size(x);

for i=1:row*col;

if x(i)>th

x(i)=256;

else

x(i)=0;

end

end

全局线性变换..

f= imread(‘*.bmp’)

[row,col]=size(f);

f1=double(f);

prompt={'the min graylevel for output image(0~255):''the max graylevel for output image(0~255):'};

name='Input for ContrastStretching';

numlines=1;

defaultanswer={'0''255'};

anss=inputdlg(prompt,name,numlines,defaultanswer);

b=str2num(anss{1});

a=str2num(anss{2});

fminGray=min(min(f1));

fmaxGray=max(max(f1));

g=double(zeros([row,col]));

for x=1:row

for y=1:col

g(x,y)=[(a-b)*(f1(x,y)-fminGray)/(fmaxGray-fminGray)]+b;

end

end

分段线性变换...

f= imread(‘*.bmp’)

[row,col]=size(f);

f1=double(f);

N=256;

prompt={'the x of the first point:''the y of the first point:''the x of the second point:''the y of the second point:''the maximum graylevel for output image:'};

name='Input for ContrastStretching';

numlines=1;

defaultanswer={'80''70''170''180''255'};

anss=inputdlg(prompt,name,numlines,defaultanswer);

x1=str2num(anss{1});

y1=str2num(anss{2});

x2=str2num(anss{3});

y2=str2num(anss{4});

gmaxGray=str2num(anss{5});

fmaxGray=max(max(f1));

for x=1:row

for y=1:col

if f1(x,y)<=x1

g(x,y)=x2*f1(x,y)/x1;

else

if (f1(x,y)>x1)&(f1(x,y)<=x2)

g(x,y)=(y2-y1)*(f1(x,y)-x1)/(x2-x1)+y1;

else

g(x,y)=(gmaxGray-y2)*(f1(x,y)-x2)/(fmaxGray-x2);

end

end

end

end

对数非线性变换...

f= imread(‘*.bmp’)

[row,col]=size(f);

mode.WindowStyle='modal';

mode.Interpreter='tex';

msgbox('g(x,y)=a+(ln[f(x,y)+1])/(b*ln(c))','the formul','mode');

prompt={'parameter a:''parameter b:''parameter c:'};

name='Input for LOG tranformation';

numlines=1;

defaultanswer={'0''1''10'};

anss=inputdlg(prompt,name,numlines,defaultanswer);

a=str2num(anss{1});

b=str2num(anss{2});

c=str2num(anss{3});

f1=double(f);

N=256;

g=a*ones([row,col])+log(f1+ones([row,col]))/(b*log(c));

指数非线性变换...

f= imread(‘*.bmp’)

f1=double(f);

[row,col]=size(f);

mode.WindowStyle='modal';

mode.Interpreter='tex';

msgbox('g(x,y)=b^(c*[f(x,y)-a])','the formula','mode');

prompt={'parameter a:''parametr b:''parameter c:'};

name='Input for Exp tranformation';

numlines=1;

defaultanswer={'0''2''0.04'};

anss=inputdlg(prompt,name,numlines,defaultanswer);

a=str2num(anss{1});

b=str2num(anss{2});

c=str2num(anss{3});

N=256;

g=b.^(c*(f1-a*ones([row,col])))-1;

椒盐噪声

f= imread(‘*.bmp’)

f1=imnoise(f,'salt & pepper',0.04);

高斯噪声

f= imread(‘*.bmp’)

f1=imnoise(f,'gaussian',0.04);

均值法

f= imread(‘*.bmp’)

f2=double(f);

[M,N]=size(f);

f3=zeros([M,N]);

for x=2:(M-1);

for y=2:(N-1);

f3(x,y)=(f2(x-1,y-1)+f2(x,y-1)+f2(x+1,y-1)+f2(x-1,y)+f2(x,y)+f2(x+1,y)+ f2(x-1,y+1)+f2(x,y+1)+f2(x+1,y+1))/9;

end

end

邻域平均法

f= imread(‘*.bmp’)

f2=double(f);

[row,col]=size(f);

f3=zeros([row,col]);

for x=2:(row-1);

for y=2:(col-1);

f3(x,y)=(f2(x-1,y-1)+f2(x,y-1)+f2(x+1,y-1)+f2(x-1,y)+f2(x+1,y)+f2( x-1,y+1)+f2(x,y+1)+f2(x+1,y+1))/8;

end

end

中值滤波法

f= imread(‘*.bmp’);

f2=double(f);

f3=zeros([row,col]);

for x=2:(row-1);

for y=2:(col-1);

f3(x,y)=median([f2(x-1,y-1),f2(x,y-1),f2(x+1,y-1),f2(x-1,y),f2(x,y),f2( x+1,y),f2(x-1,y+1),f2(x,y+1),f2(x+1,y+1)]);

end

end

巴特沃氏低通滤波

f= imread(‘*.bmp’);

f2=double(f);

[row,col]=size(f);

g=fft2(f2);

g=fftshift(g);

nn=256;

d0=40;

nx=fix(row/2);

ny=fix(col/2);

for i=1:row

for j=1:col

d=sqrt((i-nx)^2+(j-ny)^2);

h=1/(1+0.414*(d/d0)^(2*nn));

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

f3=ifft2(result);

f4=abs(f3);

梯度锐化..

f= imread(‘*.bmp’);

[row,col]=size(f);

prompt={'Threshold(0~255):'};

name='Input for Gradient Sharping';

numlines=1;

defaultanswer={'10'};

anss=inputdlg(prompt,name,numlines,defaultanswer);

th=str2num(anss{1});

f1=double(f);

f2=zeros(row,col);

for x=2:(row-1)

for y=2:(col-1)

g=abs(f1(x,y)-f1(x+1,y))+abs(f1(x,y)-f1(x,y+1));

if g>=th

f2(x,y)=g;

else

f2(x,y)=f1(x,y);

end

end

end

拉普拉斯锐化

f= imread(‘*.bmp’);

f1=double(f);

[row,col]=size(f);

for x=2:(row-1)

for y=2:(col-1)

g=f1(x-1,y)+f1(x+1,y)+f1(x,y-1)+f1(x,y+1)-4*f1(x,y); f2(x,y)=f1(x,y)-g;

g=0;

end

end

巴特沃氏高通滤波

f= imread(‘*.bmp’);

f2=double(f);

[row,col]=size(f);

g=fft2(f2);

g=fftshift(g);

nn=256;

d0=40;

nx=fix(row/2);

ny=fix(col/2);

for i=1:row

for j=1:col

d=sqrt((i-nx)^2+(j-ny)^2);

h=1/(1+0.414*(d0/d)^(2*nn));

result(i,j)=h*g(i,j);

end

end

result=ifftshift(result);

f3=ifft2(result);

f4=f2-abs(f3);

伪彩色-亮度切割法

f= imread(‘*.bmp’);

[row,col]=size(f);

f2=double(f);

f3=zeros(row,col,3);

for x=1:row;

for y=1:col;

if f2(x,y)>160

f3(x,y,1)=f2(x,y)+1;

f3(x,y,2)=0;

f3(x,y,3)=0;

else

if f2(x,y)>80

f3(x,y,2)=f2(x,y)+1;

f3(x,y,1)=0;

f3(x,y,3)=0;

else

f3(x,y,3)=f2(x,y)+1;

f3(x,y,1)=0;

f3(x,y,2)=0;

end

end

end

end

伪彩色-灰度级彩色变换法

f= imread(‘*.bmp’);

[row,col]=size(f);

f2=double(f);

f3=zeros(row,col,3);

for x=1:row;

for y=1:col;

f3(x,y,1)=255*sin(2*pi*f2(x,y)/255);

f3(x,y,2)=255*sin(2*pi*f2(x,y)/255+pi/4); f3(x,y,3)=255*sin(2*pi*f2(x,y)/255+pi/2);

end

end

基于Matlab基本图像处理程序

图像读入 ●从图形文件中读入图像 imread Syntax: A = imread(filename, fmt) filename:指定的灰度或彩色图像文件的完整路径和文件名。 fmt:指定图形文件的格式所对应的标准扩展名。如果imread没有找到filename所制定的文件,会尝试查找一个名为filename.fmt的文件。 A:包含图像矩阵的矩阵。对于灰度图像,它是一个M行N列的矩阵。如果文件包含 RGB真彩图像,则是m*n*3的矩阵。 ●对于索引图像,格式[X, map] = imread(filename, fmt) X:图像数据矩阵。 MAP:颜色索引表 图像的显示 ●imshow函数:显示工作区或图像文件中的图像 ●Syntax: imshow(I) %I是要现实的灰度图像矩阵 imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数 imshow(RGB) imshow(BW) imshow(X,map) %map颜色索引表 imshow(filename) himage = imshow(...) ●操作:读取并显示图像 I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据 imshow(I);%显示原图像 图像增强 一.图像的全局描述 直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。 图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。 灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图 像中某种灰度出现的频率。描述了一幅图像的灰度级统计信息。是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。 归一化直方图:直接反应不同灰度级出现的比率。纵坐标表示具有各个灰度级别的像

数字图像处理程序若干(matlab)

主程序 clear all close all clc !echo 本次图像处理的菜单如下:! !echo 1,imgsharping! !echo 2,imgnegative! !echo 3,imgsmoothing! !echo 4,imgsubtracting! !echo 5,medianfilting! !echo 6,contraststrength! !echo 7,lineartransform! !echo 8,imgfilp! !echo 9,imgindextransform! iptsetpref('ImshowBorder', 'tight') a=1; img = imread('C:\Users\huanhuan\Desktop\司马.jpg'); figure(1), imshow(img); while(a==1) choose=input('please enter your choosing ranging from 1 to 9: '); switch choose case 1, imgsharping(img); case 2, imgnegative(img); case 3, imgsmoothing(img); case 4, imgsubstract(img); case 5, medianfilting(img); case 6, contraststrength(); case 7, lineartransform(); case 8, imgfilp(img); case 9, imgindextransform(); otherwise disp('Unknown method.'); end a=input('continue(1) or quit(2)');

数字图像处理四个实验报告,带有源程序

数字图像处理 实验指导书 学院:通信与电子工程学院 专业:电子信息工程 班级: 学号: 姓名: XX理工大学

实验一 MATLAB数字图像处理初步 一、实验目的与要求 1.熟悉及掌握在MATLAB中能够处理哪些格式图像。 2.熟练掌握在MATLAB中如何读取图像。 3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。 4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。 5.图像间如何转化。 二、实验原理及知识点 1、数字图像的表示和类别 一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。 图像关于x和y坐标以及振幅连续。要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。将坐标值数字化成为取样;将振幅数字化成为量化。采样和量化的过程如图1所示。因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。 作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。 图1 图像的采样和量化 根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类: 亮度图像(Intensity images) 二值图像(Binary images) 索引图像(Indexed images) RGB图像(RGB images)

课程设计:图像空域增强算法设计—直方图变换增强解析

成绩评定表

课程设计任务书

摘要 空域增强是数字图像处理的基本内容之一。经过增强处理后,图像的视觉效果会得到改善,对比度增强,为图像的信息提取及其他图像分析技术奠定良好的基础。由于没有衡量图像增强质量的通用标准,图像增强往往和具体应用背景有较大的相关性。 本课程设计主要研究用于图像空域增强算法的直方图变换增强,包括直方图均衡化与直方图规定化。对于原本偏亮或偏暗的图像,均衡化可以使被处理图像不再偏暗也不再偏亮,灰度层次分布比较均匀。规定化可将被处理图像按照预先设定的形状调整其直方图。二者均可改善图像视觉效果。 采用MATLAB软件进行编程,运用上述算法对图像进行处理。仿真结果表明,处理后的图像对比度得到了明显改善,图像细节清晰,增强了图像的视觉效果,有利于图像的分析和识别。 关键词:空域增强;直方图变换增强;MATLAB

目录 1设计目的与要求 (1) 1.1设计目的 (1) 1.2设计要求 (1) 2设计原理 (1) 2.1直方图均衡化 (1) 2.2直方图规定化 (2) 3设计方案 (3) 3.1设计思想 (3) 3.2设计流程 (4) 4软件实现 (5) 4.1原始图像 (5) 4.2图像均衡化 (5) 4.3图像规定化 (6) 5仿真与结果分析 (6) 5.1仿真 (7) 5.1.1图像原始化 (7) 5.1.2图像均衡化 (8) 5.1.3图像规定化 (8) 5.2结果分析 (10) 结论 (11) 参考文献 (12)

1设计目的与要求 1.1设计目的 选择一副对比度不足的图像,对该图像进行灰度变换实现图像的增强,增强对比度,显示增强前、后的图像以及他们的灰度直方图。总结直方图增强的方法,对比方法的优缺点,积极思考基于特定图像的增强方法,设计中应具有自己的设计思想、设计体会。 1.2设计要求 (1)学习Matlab处理图像的方法; (2)加深对空域增强的理解; (3)掌握直方图均衡化和标准化算法。 2设计原理 一般情况下,如果图像的灰度分别集中在比较窄的区间,从而引起图像细节的模糊,为了使图像细节清晰,并使目标得到突出,达到图像增强的目的,可通过改善各部分亮度的比例关系,即通过直方图的方法来实现。直方图的方法是以概率论为基础的。常用的方法有直方图均衡化和直方图规定化。 2.1直方图均衡化 直方图均衡化又称直方图平坦化,是将一已知灰度概率密度分布的图像经过某种变换,变成一幅具有均匀灰度概率密度分布的新图像。其结果是扩展了像元取值的动态范围,从而达到增强图像整体对比度的效果。 直方图均衡化的具体实现步骤如下: (1)列出原始图像的灰度级

图像处理过程

图像处理过程 图像处理作为小车走迷宫过程中获得信息的第一过程,对于小车的计算路径和确认位置起到了根本的作用,经过了对于OPENCV和LABVIEW两种软件的了解,我们发现虽然OPENCV 在图像处理方面确实十分强大,但是其扩展性与易用性均不如LABVIEW来的好,我们权衡利弊,决定使用LABVIEW进行对于图像的处理。 LABVIEW以其强大的虚拟仪器库著称,我们在本次小车图像处理中用到了以下的组件: 1. https://www.wendangku.net/doc/4b8679040.html,bview 8.2 2. 3. 4. NI-IMAQ FOR USB* *对于XP SP2系统还需要加载ImaqDirectShowDll.dll、ImaqDirectShowExportDll.dll 图像处理部分分为主要由以下几个部分组成的: 1.图像采集 2.图像阈值分析和转化 3.迷宫出入口检测与小车检测 4.迷宫转化成数组(提供给迷宫算法的接口) 在Labview中我们可以很容易的利用其本身就拥有的扩展库来完成以上的操作,下面对于我们的图像处理程序进行介绍: 1.图像采集 我们组在图像采集部分采用的是动静结合的方法,即先采集一张静态的迷宫图像,通过这个图像,标定出迷宫出入口和小车初始位置,事先计算出小车应该走的路径,之后在小车开始行动之后进行动态采集,分析小车的位置,再对比算出的位置与之前的最短路径来确定小车如何行动。相对于其他组利用OPENCV进行的动态采集,需要不断的计算路径和修正小车方向,我们的方法大大减少了运算量,也减少了小车卡在角落的可能。 静态采集较为简单,可以通过外部软件获取图像,也可以直接调用Labview中NI-IMAQ组件的相关函数来进行单次的采集,在这里我们利用的是Labview中NI-IMAQ相关函数 结合上图来看,先枚举摄像头利用IMAQ USB Enumerate Cameras,然后对摄像头初始化IMAQ USB Init,分配空间并设置基础IMAQ USB Grab Setup,最后进行采集图像IMAQ USB Grab Acquire。 当需要进行动态采集的时候,只需要把采集的部分即IMAQ USB Grab Acquire进行一个循环就可以了。 2.图像降噪和阈值分析(图像二值化) 图像采集完毕之后,必须要进行二值化才能继续进行操作,因为摄像头和光线条件的限制等原因,图像采集之后会有大量的噪点存在,二值化之后可能会在路径上产生黑斑影响计算,而我们想到如果迷宫计算不是采用寻找路径的方法而是采用检测出墙壁进行计算的方法,就可以很好的避免大量噪点的问题。对于阈值分析Labview中同样有合适的函数可以进行 利用IMAQ ColorThreshold,我们可以调整各种颜色阈值来将图像二值化,如下图所示: 其中族控制输入三个阈值的数据,255是二值化后的灰度。 3.迷宫出入口的检测与定标。 在计算中我们把迷宫转化成了一个矩阵,但是图的边界不一定是迷宫的边界,我们需要手动标定出迷宫的边界,这是就需要用到IMAQ Select Point,通过鼠标点选选出迷宫的边界(角)的坐标,如下图所示。

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 1、灰度直方图 (1)计算出一幅灰度图像的直方图 clear close all I=imread('004.bmp'); imhist(I) title('实验一(1)直方图'); (2)对灰度图像进行简单的灰度线形变换, figure subplot(2,2,1) imshow(I); title('试验2-灰度线性变换'); subplot(2,2,2) histeq(I); (3)看其直方图的对应变化和图像对比度的变化。 原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a) figure subplot(2,2,1) imshow(I) J=imadjust(I,[0.3,0.7],[0,1],1); title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2) imshow(J) subplot(2,2,3) imshow(I) J=imadjust(I,[0.5 0.8],[0,1],1); subplot(2,2,4) imshow(J) (4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像) figure subplot(2,2,1)

imshow(I) J=find(I<150); I(J)=0; J=find(I>=150); I(J)=255; title(' 实验一(4)图像二值化 ( 域值为150 ) '); subplot(2,2,2) imshow(I) clc; I=imread('14499.jpg'); bw=im2bw(I,0.5);%选取阈值为0.5 figure; imshow(bw) %显示二值图象 图象处理变换(二) 1.傅立叶变换 熟悉其概念和原理,实现对一幅灰度图像的快速傅立叶变换,并求其变换后的系数分布. 2.离散余弦变换 熟悉其概念和原理,实现对一幅灰度和彩色图像作的离散余弦变换,选择适当的DCT系数阈值对其进行DCT反变换. % 图象的FFT变换 clc; I=imread('005.bmp'); subplot(1,2,1) imshow(I); title('原图'); subplot(1,2,2) imhist(I); title('直方图'); colorbar; J=fft2(I); figure; subplot(1,2,1) imshow(J); title('FFT变换结果'); subplot(1,2,2) K=fftshift(J); imshow(K);

数字图像处理实验指导书模板

《数字图像处理》实验指导书 编写: 罗建军 海南大学三亚学院 10月

目录 一、概述 ....................................................................... 错误!未定义书签。 二、建立程序框架 ....................................................... 错误!未定义书签。 三、建立图像类 ........................................................... 错误!未定义书签。 四、定义图像文档实现图像读/写.............................. 错误!未定义书签。 五、实现图像显示 ....................................................... 错误!未定义书签。 六、建立图像处理类................................................... 错误!未定义书签。 七、实现颜色处理功能............................................... 错误!未定义书签。 (一) 亮度处理................................................................. 错误!未定义书签。 (二) 对比度处理............................................................. 错误!未定义书签。 (三) 色阶处理................................................................. 错误!未定义书签。 (四) 伽马变换................................................................. 错误!未定义书签。 (五) 饱和度处理............................................................. 错误!未定义书签。 (六) 色调处理................................................................. 错误!未定义书签。 八、实现几何变换功能............................................... 错误!未定义书签。 (一) 图像缩放................................................................. 错误!未定义书签。 (二) 旋转......................................................................... 错误!未定义书签。 (三) 水平镜像................................................................. 错误!未定义书签。 (四) 垂直镜像................................................................. 错误!未定义书签。 (五) 右转90度................................................................. 错误!未定义书签。 (六) 左转90度................................................................. 错误!未定义书签。 (七) 旋转180度............................................................... 错误!未定义书签。 九、实现平滑锐化功能............................................... 错误!未定义书签。 十、图像处理扩展编程............................................... 错误!未定义书签。

课设报告--matlab图像增强系统

课程设计报告 学生姓名(按拼音排序)学号班级XX XXX XX XXX XXX XX XXX XXX XXX 二○一二年 5 月16 日

目录 一、图像处理介绍 (3) (一)图像处理 (3) (二)图像处理的实际应用 (3) (三)图像处理软件简介 (3) 二、数学实验程序介绍 (4) (一)设计目的 (4) (二)题目分析 (4) (三)总体设计 (4) (四)程序各功能介绍及运行截图 (5) 1.菜单栏的设计 (5) 2.各项功能的实现 (6) (五)课后问题回答 (26) (六)其他 (29) 1.组员分工 (29) 2.参考资料 (29) 3.心得与体会 (29)

一、图像处理介绍 (一)图像处理 图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。 (二)图像处理的实际应用 卫星图像处理:通过对卫星拍摄的地面图像进行处理,可以从中获取人们所需的信息,帮助人们监测地表情况变化,寻找矿藏。 汽车障碍识别:在汽车上安装摄像头,并对拍摄的图像进行滤波或降噪,以实现障碍物和路径识别等功能,实现无人、全自动和安全驾驶。 除此之外,图像处理还可用于农产品缺陷和损伤检测;测试纺织物质量等方面。 (三)图像处理软件简介 Photoshop Photoshop是Adobe公司旗下最为出名的图像处理软件之一,集图像扫描、编辑修改、图像制作、广告创意,图像输入与输出于一体的图形图像处理软件。 从功能上看,该软件可分为图像编辑、图像合成、校色调色及特效制作部分等。图像编辑是图像处理的基础,可以对图像做各种变换如放大、缩小、旋转、倾斜、镜像、透视等。也可进行复制、去除斑点、修补、修饰图像的残损等。 CorelDRAW CorelDRAW Graphics Suite是一款由世界顶尖软件公司之一的加拿大的Corel公司开发的图形图像软件。广泛地应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等等诸多领域。包含程序及服务:CorelPowerTRACE;CorelCAPTURE;BitstreamFontNavigator;条形码精灵;输出中心描述文件制作程序。 彩影 彩影软件是梦幻科技推出的国内最强大、最傻瓜的图形处理和相片制作软件,彩影拥有非常智能、傻瓜而功能强大的图像处理、修复和合成功能,其专业但却并不复杂,让所有用户不需要专业的图像美工技能即可轻松点击并制作出绚丽多彩的图像特效图。 光影魔术手 光影魔术手(nEO iMAGING)是一个对数码照片画质进行改善及效果处理的软件。简单、易用,不需要任何专业的图像技术,就可以制作出专业胶片摄影的色彩效果,是摄影作品后期处理、图片快速美容、数码照片冲印整理时必备的图像处理软件。 主要功能:模拟反转片的效果;晚霞渲染;黑白效果;反转片负冲;负片效果;夜景效果;白平衡一指键;CCD死点修复等。 美图秀秀 美图秀秀是一款简易的图像处理软件,用户无需经过系统学习就能使用。具有图片特效、美容、拼图、场景、边框、饰品等功能,适合制作非主流图片。

数字图像处理程序

数字图像处理程序

数字图像处理实验 图像处理实验(一)直方图 灰度变换是图像增强的一种重要手段,使图像对比度扩展,图像更加清晰,特 征更加明显。 灰度级的直方图给出了一幅图像概貌的描述,通过修改灰度直方图来得到图像 增强。 1、灰度直方图 (1)计算出一幅灰度图像的直方图 clear close all I=imread('004.bmp'); imhist(I) title('实验一(1)直方图'); (2)对灰度图像进行简单的灰度线形变换, figure subplot(2,2,1) imshow(I); title('试验2-灰度线性变换'); subplot(2,2,2) histeq(I); (3)看其直方图的对应变化和图像对比度的变化。 原图像 f(m,n) 的灰度范围 [a,b] 线形变换为图像 g(m,n),灰度范围[a’,b’]公式:g(m,n)=a’+(b’-a’)* f(m,n) /(b-a) figure subplot(2,2,1) imshow(I) J=imadjust(I,[0.3,0.7],[0,1],1); title(' 实验一(3)用g(m,n)=a’+(b’-a’)* f(m,n) /(b-a)进行变换 '); subplot(2,2,2) imshow(J) subplot(2,2,3) imshow(I) J=imadjust(I,[0.5 0.8],[0,1],1); subplot(2,2,4) imshow(J) (4) 图像二值化(选取一个域值,(5) 将图像变为黑白图像) figure subplot(2,2,1)

最新图像增强算法综合应用课程设计

《图像处理技术应用实践》课程设计题目图像增强算法综合应用 学生姓名 学号 院系 专业 任课教师 xxxx年xx月xx日

图像增强算法综合应用 梅雨 南京信息工程大学计算机与软件学院,南京 210044 摘要:图像增强是指增强图像中的有用信息,它可以是一个失真的过程,其目的是要改善图像的视觉效果。运用空间域与频率域相结合的算法,去除随机噪声和周期噪声的混合噪声,提高图像质量。 关键词:随机噪声;周期噪声;空间域和频率域去噪 1 任务描述 图像增强处理:设计一套空间域与频率域结合的图像增强算法,处理以下任一组图片中的带噪声图像,去除噪声,提高图像质量。 (1)已知:噪声为随机噪声和周期噪声混合噪声; (2)要求: a)去噪处理后,计算均方误差评估去噪处理后图像的去噪效果 b)撰写完整的科技报告(形式类似科技论文)表述自己的算法设计,算法实现与算法评估过程。 第一组图片: 第二组图片:

2 图像增强算法 2.1问题分析 (1)图片中加入了随机噪声和周期噪声混合噪声。针对不同的噪声,不同的去噪方法效果不同,因此应该采用不同的去噪方法以达到最好的去噪效果。 (2)随机噪声应在空间域去除,而空域去噪方法中,中值滤波法效果最好。 (3)周期噪声应在频域中消去。 (4)去除噪声后的图像仍然可以改善处理。 (5)均方误差评估去噪处理后图像的去噪效果。 2.2算法设计 (1)读入初始图片及加噪图片。 clc; clear; f=imread('D:\dogOriginal.bmp'); g=imread('D:\dogDistorted.bmp'); (2)利用空域滤波,去除随机噪声,此时用中值滤波法,并显示它的频谱图。 g3=medfilt2(g,[3,3]); 原图去除随机噪声 图1 空域滤波后的图像与原图的比较 (3)利用频域滤波,去除周期噪声。先转化成double型,进行傅里叶变换,再转化成数据矩阵,最后利用低通滤波去除周期噪声。 F = double(g); % 数据类型转换,MATLAB不支持图像的无符号整型的计算 G = fft2(F); % 傅里叶变换 G= fftshift(G); % 转换数据矩阵 [M,N]=size(G); nn = 2; % 二阶巴特沃斯(Butterworth)低通滤波器 d0 = 27;

(完整版)卫星图像处理流程

卫星图像处理流程 一.图像预处理 1.降噪处理 由于传感器的因素,一些获取的遥感图像中,会出现周期性的噪声,我们必须对其进行消除或减弱方可使用。 (1)除周期性噪声和尖锐性噪声 周期性噪声一般重叠在原图像上,成为周期性的干涉图形,具有不同的幅度、频率、和相位。它形成一系列的尖峰或者亮斑,代表在某些空间频率位置最为突出。一般可以用带通或者槽形滤波的方法来消除。 消除尖峰噪声,特别是与扫描方向不平行的,一般用傅立叶变换进行滤波处理的方法比较方便。 图1 消除噪声前

图2 消除噪声后 (2)除坏线和条带 去除遥感图像中的坏线。遥感图像中通常会出现与扫描方向平行的条带,还有一些与辐射信号无关的条带噪声,一般称为坏线。一般采用傅里叶变换和低通滤波进行消除或减弱。 图3 去条纹前

图4 去条纹后 图5 去条带前

图6 去条带后 2.薄云处理 由于天气原因,对于有些遥感图形中出现的薄云可以进行减弱处理。 3.阴影处理 由于太阳高度角的原因,有些图像会出现山体阴影,可以采用比值法对其进行消除。二.几何纠正 通常我们获取的遥感影像一般都是Level2级产品,为使其定位准确,我们在使用遥感图像前,必须对其进行几何精纠正,在地形起伏较大地区,还必须对其进行正射纠正。特殊情况下还须对遥感图像进行大气纠正,此处不做阐述。 1.图像配准 为同一地区的两种数据源能在同一个地理坐标系中进行叠加显示和数学运算,必须先将其中一种数据源的地理坐标配准到另一种数据源的地理坐标上,这个过程叫做配准。(1)影像对栅格图像的配准 将一幅遥感影像配准到相同地区另一幅影像或栅格地图中,使其在空间位置能重合叠加显示。

matlab数字图像处理程序

数字图像处理程序 实验一 1、图像的缩放: A=imread('F:\MATLAB程序\数字图像处理实验\kunkun.jpg'); subplot(311); imshow(A); title('原图') B=imresize(A,3); subplot(312); imshow(B); title('三倍图'); C=imresize(A,0.5); subplot(313); imshow(C); title('二分之一图'); 2、图像的镜像: A1=imread('F:\MATLAB程序\数字图像处理实验\kunkun.jpg'); figure subplot(2,2,1), imshow(uint8(A1)); H=size(A1); title('原像') A2(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,1:H(2),1:H(3));%垂直镜像subplot(2,2,2), imshow(uint8(A2)); title('垂直镜像') A3(1:H(1),1:H(2),1:H(3))=A1(1:H(1),H(2):-1:1,1:H(3));%水平镜像subplot(2,2,3), imshow(uint8(A3)); title('水平镜像') A4(1:H(1),1:H(2),1:H(3))=A1(H(1):-1:1,H(2):-1:1,1:H(3));%对角镜像subplot(2,2,4), imshow(uint8(A4)); title('对角镜像') 3、图像的旋转: I = imread('F:\MATLAB程序\数字图像处理实验\kunkun.jpg'); subplot(141); imshow(I); title('原图'); theta1 = 45;%旋转的角度为45度 K1 = imrotate(I,theta1); % 对图像进行旋转 subplot(142);

数字图像处理实验报告

数字图像处理实验报告

实验一数字图像处理编程基础 一、实验目的 1. 了解MA TLAB图像处理工具箱; 2. 掌握MA TLAB的基本应用方法; 3. 掌握MA TLAB图像存储/图像数据类型/图像类型; 4. 掌握图像文件的读/写/信息查询; 5. 掌握图像显示--显示多幅图像、4种图像类型的显示方法; 6. 编程实现图像类型间的转换。 二、实验内容 1. 实现对图像文件的读/写/信息查询,图像显示--显示多幅图像、4种图像类型的显示方法、图像类型间的转换。 2. 运行图像处理程序,并保存处理结果图像。 三、源代码 I=imread('cameraman.tif') imshow(I); subplot(221), title('图像1'); imwrite('cameraman.tif') M=imread('pout.tif') imview(M) subplot(222), imshow(M); title('图像2'); imread('pout.bmp') N=imread('eight.tif') imview(N) subplot(223), imshow(N); title('图像3'); V=imread('circuit.tif') imview(V) subplot(224), imshow(V); title('图像4');

N=imread('C:\Users\Administrator\Desktop\1.jpg') imshow(N); I=rgb2gary(GRB) [X.map]=gary2ind(N,2) RGB=ind2 rgb(X,map) [X.map]=gary2ind(I,2) I=ind2 gary(X,map) I=imread('C:\Users\dell\Desktop\111.jpg'); subplot(231),imshow(I); title('原图'); M=rgb2gray(I); subplot(232),imshow(M); [X,map]=gray2ind(M,100); subplot(233),imshow(X); RGB=ind2rgb(X,map); subplot(234),imshow(X); [X,map]=rbg2ind(I); subplot(235),imshow(X); 四、实验效果

图像课程设计----图像增强课程设计

班级:12级计算机10班学号:12041303姓名:刘博 图像增强课程设计 一、图像增强的空域法直方图均值化处理 %图像增强的空域法直方图处理 clc clear all I=imread('mm1.JPG'); j=rgb2gray(I); %读入图片后转为灰度图 figure(1) %在方图一中显示 subplot(211) imhist(j); %显示原图像直方图 title('源图像直方图') J=histeq(j); %直方图处理 subplot(212) imhist(J) title('均衡化的直方图') figure(2) subplot(121); imshow(I) title('源图像') subplot(122); imshow(J) title('处理后的图像') imwrite(J, 'k2.jpg'); % 将直方图处理后的图像保存到图像文件

二、图像增强的空域----算术/逻辑运算 %程序举例:Aver.m&Aver_new.m clear all clc I=imread('mm4.JPG'); j=rgb2gray(I); %读入图片后转为灰度图 fimage=double(j); nimage=(rand(size(fimage)))*60; subplot(231); imagesc(fimage); imwrite(j, 'k3-fimage.jpg') title('original') colormap(gray); subplot(232); imagesc(nimage); title('noise') colormap(gray); X = uint8(nimage); % 将double 转化成uint8 imwrite(X, 'k3-nosie.bmp') subplot(233); X = uint8(fimage+nimage); imwrite(X, 'k3-1noise.bmp') imagesc(fimage+nimage); title('1-noise') colormap(gray); % noise gimage=zeros(size(fimage)); fori=1:30 gimage=gimage+fimage+(rand(size(fimage)))*60; ifi==5 subplot(234); n5=gimage/5; imagesc(gimage); title('5-noise') colormap(gray); end ifi==15 n15=gimage/15;

数字图像处理代码大全

1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]); axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]的灰度拉伸为[0 1]

subplot(2,2,3),imshow(J); title('线性变换图像[0.1 0.5]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]的灰度拉伸为[0 1] subplot(2,2,4),imshow(K); title('线性变换图像[0.3 0.7]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); I1=rgb2gray(I); subplot(1,2,1),imshow(I1); title('灰度图像'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 J=double(I1);

数字图像处理实验

学院计算机与通信工程学院专业生物医学工程专业 班级51111 学号5111133 姓名杨静 指导教师贾朔 2014年04月21日

实验一图像的基本运算 一、实验目的: 1、掌握图像处理中的点运算、代数运算、逻辑运算和几何运算及应用。 2、掌握各种运算对于图像处理中的效果。 二、实验内容: 1、(1)选择一幅图像lena8.jpg,设置输入/输出变换的灰度级范围,a=0.2,b=0.6,c=0.1,d=0.9. (2)设置非线性扩展函数的参数c=2. (3)采用灰度级倒置变换函数s=255-r进行图像变换 (4)设置二值化图像的阈值,分别为level=0.4,level=0.7 解:参考程序如下: I=imread('C:\lena8.jpg'); figure; subplot(2,3,1); imshow(I); title('原图'); J=imadjust(I,[0.3;0.6],[0.1;0.9]); %设置灰度变换的范围 subplot(2,3,2); imshow(J); title('线性扩展'); I1=double(I); %将图像转换为double类型 I2=I1/255; %归一化此图像 C=2; K=C*log(1+I2); %求图像的对数变换 subplot(2,3,3); imshow(K); title('非线性扩展'); M=im2bw(I,0.5); M=~M; %M=255-I; %将此图像取反 %Figure subplot(2,3,4); imshow(M); title('灰度倒置'); N1=im2bw(I,0.4); %将此图像二值化,阈值为0.4 N2=im2bw(I,0.7); %将此图像二值化,阈值为0.7 subplot(2,3,5); imshow(N1); title('二值化阈值0.4'); subplot(2,3,6); imshow(N2); title('二值化阈值0.7');

图像预处理流程

图像预处理流程: 图2.2图像预处理流程图 2.2系统功能的实现方法 系统功能的实现主要依靠图像处理技术,按照上面的流程一一实现,每一部分的具体步骤如下: 1原始图像:由数码相机或其它扫描装置拍摄到的图像; 2预处理:对采集到的图像进行灰度化、图像增强,滤波、二值化等处理以克服图像干扰; 3字轮定位:用图像剪切的方法获取仪表字轮; 4字符分割:利用字符轮廓凹凸检测定位分割方法得到单个的字符; 5字符识别:利用模板匹配的方法与数据库中的字符进行匹配从而确认出字符,得到最后的仪表示数。

2.3.1 MATLA B简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多,并且mathwork也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++ ,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB 爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 2.3.2 MATLAB的优势和特点 1、MATLAB的优势 (1)友好的工作平台和编程环境 MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

数字图像处理实验程序MATLAB.

实验一 内容(一) (1)彩色图像变灰度图像 A=imread('1.jpg'); B=rgb2gray(A); figure subplot(1,2,1), imshow(A) title('原图') subplot(1,2,2), imshow(B) title('原图灰度图像') (2)彩色图像变索引图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') [X,map]=rgb2ind(A,128); subplot(1,2,2), imshow(X,map) title('原图索引图像') (3)彩色图像变二值图像 A=imread('1.jpg'); figure subplot(1,2,1), imshow(A) title('原图') C=im2bw(A,0.2); subplot(1,2,2), imshow(C) title('原图二值图像') (4)灰度图像变索引图像(一) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=grayslice(B,39); subplot(1,2,2), imshow(C) title('灰度变索引图像')

(5)灰度图像变索引图像(二) A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') [X,map]=gray2ind(B,63); subplot(1,2,2), imshow(X,map) title('灰度变索引图像') (6)灰度图像变彩色图像 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') C=gray2rgb(B,map); subplot(1,2,2), imshow(C) title('灰度变彩色图像') 内容(二) (1)灰度平均值 A=imread('1.jpg'); figure B=rgb2gray(A); subplot(1,2,1), imshow(B) title('灰度图像') B=double(B); [m,n]=size(B); sumg=0.0; for i=1:m; for j=1:n; sumg=sumg+B(i,j); end end avg=sumg/(m*n) % 均值 maxg=max(max(B)) % 区域最大灰度ming=min(min(B)) % 区域最小灰度 (2)彩色平均值

相关文档
相关文档 最新文档