图像处理大作业

图像处理大作业
图像处理大作业

重庆科技学院

《图像处理》

课程大作业

院(系):_电气与信息工程学院_专业班级:计科1004 学生姓名:谢子洋学号: 2010441747 设计地点(单位) I515

设计题目:数字图像处理大作业

完成日期: 2012年月日

指导教师评语: _______________________________________

___________________________________________________________________________

___________________________________________________________________________

成绩(五级记分制):______ __________

指导教师(签字):________ ________

1 大作业题目

1.1连续图像f(x.y)和数字图像I(r,c)中各分量的含义是什么?他们有什么联系和区别?取值范围在什么范围?

答:连续图像f(x,y)对应一个2-D数组,这里想x,y表示2D空间XY里面的坐标点的位置,f则表示图像在(x,y)的某种性质F的数值,其中图像的实际尺寸更具图像的实际大小所限制的。

数字图像I(r,c)也对应一个2-D数组,I代表离散化都的f,(r,c)代表离散化后的(x,y),r代表图像的行,c代表图像的列,这里的I,r,c都是整数。

连续图像f(x,y)代表的连续实际图像,F是指图像在f的各个分量上的值。例如:二值灰度值图像,其中f在x,y分量上只有0 和1 两个值。这个也适用于rgb彩色图像。一个函数可由n阶泰特公式展开,因此,数字图像虽然没有完全刻画Original图像,利用计数机高速度计算,将这个整体的Original图像分割,以点的值存储到相应的坐标点上。

其中 f(x,y)的值是任意实数,而 I, c,r的值都是整数

1.2发光强度及亮度、照度各有什么不同?

答:发光强度只指光源的能量辐射强度;亮度是指扩展光源在某个方向上的单位投影面积的发光强度;照度是指光源照射到母体表面的光通量,它是光源对物体辐射的一种量度。答:1)发光强度,单位坎德拉,即cd。定义:光源在给定方向的单位立体角中发射的光通量定义为光源在该方向的发光强度。

解释:发光强度是针对点光源而言的,或者发光体的大小与照射距离相比比较小的场合。这个量是表明发光体在空间发射的会聚能力的。可以说,发光强度就是描述了光源到底有多“亮”,因为它是光功率与会聚能力的一个共同的描述。发光强度越大,光源看起来就越亮,同时在相同条件下被该光源照射后的物体也就越亮,因此,早些时候描述手电都用这个参数。

2)亮度,单位尼特,即nt。

定义:单位光源面积在法线方向上,单位立体角内所发出的光流。

解释:这个是最容易被误解的概念了。亮度是针对光源而言,而且不是对点光源,是对面光源而言的。无论是主动发光的还是被动(反射)发光的。亮度是一块比较小的面积看起来到底有多“亮”的意思。这个多“亮”,与取多少面积无关,但为了均匀,我们把面积取得比较小,因此才会出现“这一点的亮度”这样的说法。亮度不仅取决于光源的光通量,更取决于等价发光面积和发射的会聚程度。比如激光指示器,尽管其功率很小,但可会聚程度非常高,因此亮度非常

高。3)光照度,单位勒克斯,即lx。

定义:流明的光通量均匀分布在1平方米表面上所产生的光照度。解释:光照度是对被照地点而言的,但又与被照射物体无关。一个流明的光,均匀射到1平方米的物体上,照度就是1 lx。照度的测量,用照度表,或者叫勒克斯表、lux 表。常见照度:阳光直射(正午)下,110,000 lx,阴天室外,1000 lx,商场内,500 lx,阴天有窗室内,100 lx,普通房间灯光下,100 lx,满月照射下,

0.2 lx。

1.3试讨论连续卷积和离散卷积的不同。

答:连续卷和离散卷在定义域上不同,为了避免重叠失误,在离散卷中需要对被卷积系列进行扩展,即要将有限长的被卷积系列A和B扩展成长度为M=A+B-1的序列以得到以M为周期的结果序列。

1.4为什么一般情况下对离散图像的直方图均衡化并不能产生完全平坦的直方

答:因为同意灰度值的各个像素没有理由变换到不同灰度级,所以数字图像直方图均衡化的结果一般不能得到完全均匀分布的直方图,只有近视均衡的直方图。

1.5讨论用于空间滤波的平滑滤波器和锐化滤波器的相同点、不同点和联系。答:相同点:都能削弱或消除傅里叶空间的某些分量,而不影响或较少影响其它分量,从而达到增强某些频率分量的效果。

不同点:平滑滤波器削弱或消除了傅里叶空间的高频分量,所以达到了增强低频分量,平滑图像中细节的效果;锐化滤波器削弱或消除了傅里叶空间的低频分量,所以达到了增强高频分量,锐化图像中的细节的效果。

联系:两者效果相反,互为补充,从原始图像减去平滑滤波器的效果得到锐化滤波器的效果,如果减去锐化滤波器的效果则得到平滑滤波器的效果。

1.6参考教材公式(11.

2.1),如果对数底数不为2,当对数底数为e时,得到的信息单位为奈特(nat),当底数为10时,得到的信息单位成为哈特利(Hartley),推导他们与比特的换算关系。

答:用不同的单位要表达相同数量的意思,根据定义得:

1bit =-log2P(E),

1nat = -lnP(E)= =-log2ebit

1hartley = -lgP(E)==-log210bit

2.1编程实现教材第11章习题11-13和11-16题。

答:11-13

function [output,table] = lzw2norm(vector)

%LZW2NORM LZW Data Compression (decoder)

% For vectors, LZW2NORM(X) is the uncompressed vector of X using the LZW algorithm.

% [...,T] = LZW2NORM(X) returns also the table that the algorithm produces.

%

% For matrices, X(:) is used as input.

%

% Input must be of uint16 type, while the output is a uint8.

% Table is a cell array, each element containig the corresponding code. %

% This is an implementation of the algorithm presented in the article % https://www.360docs.net/doc/609456718.html,/markn/articles/lzw/lzw.htm

%

% See also NORM2LZW

% $Author: Giuseppe Ridino' $

% $Revision: 1.0 $ $Date: 10-May-2004 14:16:08 $

% How it decodes:

%

% Read OLD_CODE

% output OLD_CODE

% CHARACTER = OLD_CODE

% WHILE there are still input characters DO

% Read NEW_CODE

% IF NEW_CODE is not in the translation table THEN

% STRING = get translation of OLD_CODE

% STRING = STRING+CHARACTER

% ELSE

% STRING = get translation of NEW_CODE

% END of IF

% output STRING

% CHARACTER = first character in STRING

% add translation of OLD_CODE + CHARACTER to the translation table % OLD_CODE = NEW_CODE

% END of WHILE

% ensure to handle uint8 input vector

if ~isa(vector,'uint16'),

error('input argument must be a uint16 vector')

end

% vector as a row

vector = vector(:)';

% initialize table (don't use cellstr because char(10) will be turned to empty!!!)

table = cell(1,256);

for index = 1:256,

table{index} = uint16(index-1);

end

% initialize output

output = uint8([]);

code = vector(1);

output(end+1) = code;

character = code;

for index=2:length(vector),

element = vector(index);

if (double(element)+1)>length(table),

% add it to the table

string = table{double(code)+1};

string = [string character];

else,

string = table{double(element)+1};

end

output = [output string];

character = string(1);

[table,code] = addcode(table,[table{double(code)+1} character]);

code = element;

end

% ###############################################

function code = getcodefor(substr,table)

code = uint16([]);

if length(substr)==1,

code = substr;

else, % this is to skip the first 256 known positions

for index=257:length(table),

if isequal(substr,table{index}),

code = uint16(index-1); % start from 0

break

end

end

end

% ###############################################

function [table,code] = addcode(table,substr)

code = length(table)+1; % start from 1

table{code} = substr;

code = uint16(code-1); % start from 0

11-16

function [output,table] = norm2lzw(vector)

%NORM2LZW LZW Data Compression (encoder)

% For vectors, NORM2LZW(X) is the compressed vector of X using the LZW algorithm.

% [...,T] = NORM2LZW(X) returns also the table that the algorithm produces.

%

% For matrices, X(:) is used as input.

%

% Input must be of uint8 type, while the output is a uint16.

% Table is a cell array, each element containig the corresponding code. %

% This is an implementation of the algorithm presented in the article % https://www.360docs.net/doc/609456718.html,/markn/articles/lzw/lzw.htm

%

% See also LZW2NORM

% $Author: Giuseppe Ridino' $

% $Revision: 1.0 $ $Date: 10-May-2004 14:16:08 $

% How it encodes:

%

% STRING = get input character

% WHILE there are still input characters DO

% CHARACTER = get input character

% IF STRING+CHARACTER is in the string table then

% STRING = STRING+character

% ELSE

% output the code for STRING

% add STRING+CHARACTER to the string table

% STRING = CHARACTER

% END of IF

% END of WHILE

% output the code for STRING

% ensure to handle uint8 input vector

if ~isa(vector,'uint8'),

error('input argument must be a uint8 vector')

end

% vector as uint16 row

vector = uint16(vector(:)');

% initialize table (don't use cellstr because char(10) will be turned to empty!!!)

table = cell(1,256);

for index = 1:256,

table{index} = uint16(index-1);

end

% initialize output

output = vector;

% main loop

outputindex = 1;

startindex = 1;

for index=2:length(vector),

element = vector(index);

substr = vector(startindex:(index-1));

code = getcodefor([substr element],table);

if isempty(code),

% add it to the table

output(outputindex) = getcodefor(substr,table);

[table,code] = addcode(table,[substr element]);

outputindex = outputindex+1;

startindex = index;

else,

% go on looping

end

end

substr = vector(startindex:index);

output(outputindex) = getcodefor(substr,table);

% remove not used positions

output((outputindex+1):end) = [];

% ############################################### function code = getcodefor(substr,table)

code = uint16([]);

if length(substr)==1,

code = substr;

else, % this is to skip the first 256 known positions for index=257:length(table),

if isequal(substr,table{index}),

code = uint16(index-1); % start from 0

break

end

end

end

% ###############################################

function [table,code] = addcode(table,substr)

code = length(table)+1; % start from 1

table{code} = substr;

code = uint16(code-1); % start from 0

2.2对“Fig0419(a)(chestXray_original).tif”的胸透图像进行空域、频域或混合方法增强,写出源代码并进行逐行注释,用两种以上的方法。

%% fftshift 对数变换,所应用的图片本身很简单,就只有黑白2种颜色

clc

clear

f = imread('.\images\Fig0419(a)(chestXray_original).tif \Fig0403(a) (image).tif');

imshow(f)

title('原始图像')

imfinfo('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origin al).tif. ');%此处如果用Imfinfo(f)就会报错fft

%没有居中的傅里叶频谱

F=fft2(f);%进行二维快速傅里叶变换,其结果和DFT的一样,只是计算机的计算速度变快了而已,因而叫fft

S=abs(F);%求傅里叶变换后的幅值

figure,subplot(121),imshow(S,[])

title('傅里叶频谱图像1');%title函数一定要放在坐标显示的下一句才有效。

subplot(122),imshow(S),title('傅里叶频谱图像2')

%居中的傅里叶频谱

Fc=fftshift(F);%将频谱图像原点移至图像矩形中间

S1=abs(Fc);

figure,subplot(121),imshow(S1,[]);%加了第二个参数后显示的图像正常

subplot(122),imshow(S1);%当没有第二个参数时,显示的图像为竖线加一些孤立的黑点,why?

%使用对数后视觉增强后的傅里叶频谱

S2=log(1+S1);

imshow(S2,[]);

%%用fftshift对数变换显示稍复杂的图片

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0409(a)(bld).tif ');

imshow(f);

f=double(f);%其实这句不要试过对后面的变换结果也没有影响

F=fft2(f);

Fc=fftshift(F);

S=abs(Fc);

S2=log(1+S);%如果没有这句的话,那么根本看不到细节的图,所以一定要用对数压缩增加对比度

figure,imshow(S2,[])

%%试一下ifft功能

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origi

nal).tif ');

imshow(f);

f=double(f);

f(1:8,1:8)

F=fft2(f);

f=ifft2(F);%取傅里叶变换后的反傅里叶变换,直接是整数,并不需要像某些代码一样取real部分

f(1:8,1:8)

%%先0扩充再滤波

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origi nal).tif ');

imshow(f);

[M N]=size(f);

F=fft2(f);%没有经过0扩充直接计算fft

sig=10;%高斯滤波参数

H=lpfilter('gaussian',M,N,sig);

G=H.*F;%加了.号的乘法表示对应每个元素都相乘,没加.号的乘法说明是真正的矩阵乘法

g=real(ifft2(G));

figure,imshow(g,[]);

PQ=paddedsize(size(f));%PQ为0扩展的面积,这里设置为与图像的大小相同?这里size(f)的大小为256*256

Fp=fft2(f,PQ(1),PQ(2));%如果fft2有3个参数的话,则是进行了0扩展了

Hp=lpfilter('gaussian',PQ(1),PQ(2),2*sig);%构造高斯滤波器

Gp=Hp.*Fp;%对0扩展后的图像进行高斯滤波

gp=real(ifft2(Gp));

figure,imshow(gp,[])'

gpc=gp(1:size(f,1),1:size(f,2));%取gp图像的1到f的第一维的行,

1到f第二维的列部分,即取与图像大小相同的部分

figure,imshow(gpc,[]);%此时显示的结果应该与g图像一样。

%直接使用空间域滤波

h=fspecial('gaussian',15,7);

gs=imfilter(f,h);

figure,imshow(gs,[])

%%

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origi nal).tif ');

f=double(f);

imshow(f);

PQ=paddedsize(size(f));%size(f)的大小为256*256

sig=10;

H = lpfilter('gaussian',PQ(1),PQ(2),2*sig); % PQ=[512512] figure,mesh(abs(H(1:10:512,1:10:512)));%画出滤波器的三维空间图

g=dftfilt(f,H);

figure,imshow(g,[])

%%空间滤波和频域滤波的比较

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origi nal).tif ');

imshow(f);

F=fft2(f);

S=fftshift(log(1+abs(F)));

S=gscale(S);%用gscale来进行将数据缩放到默认值0~255

figure,imshow(S);

h=fspecial('sobel');%构造sobel空间滤波器

figure,freqz2(h);%查看滤波器的图形

PQ=paddedsize(size(f));

H=freqz2(h,PQ(1),PQ(2));%将空间滤波器h转换成频域滤波器H,但是滤波器的原点在矩阵的中心处

H1=ifftshift(H);%原点迁移到左上角

figure,mesh(abs(H1(1:20:1200,1:20:1200)));

figure,subplot(121),imshow(abs(H),[]);

subplot(122),imshow(abs(H1),[]);

gs=imfilter(double(f),h);%空间滤波,其实就是边缘检测

gf=dftfilt(f,H);%频域滤波

subplot(121),imshow(gs,[]),subplot(122),imshow(gf,[]);%将2种滤波结果显示出来

figure,imshow(abs(gs)>0.2*abs(max(gs(:))));%只显示最大值的2 0%的边缘

figure,imshow(abs(gf)>0.2*abs(max(gf(:))));

d=abs(gs-gf);

a=max(d(:))

b=min(d(:))

%%构造低通滤波器

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origi nal).tif ');

imshow(f)

F1=fft2(f);

imshow(log(1+abs(fftshift(F1))),[]);%直接显示取对数后的傅里叶变换

PQ=paddedsize(size(f));

[U V]=dftuv(PQ(1),PQ(2));%这个函数还真不明白什么意思,help中解释的是计算网格频率矩阵U和V,这2个矩阵是用来频率滤波的

D0=0.05*PQ(2);

F=fft2(f,PQ(1),PQ(2));%用0扩充大小为PQ(1)*PQ(2),然后fft变换

figure,imshow(log(1+abs(fftshift(F))),[]);%显示0扩充后的ff t变换图

H=exp(-(U.^2+V.^2)/(2*(D0^2)));%构造频域滤波算子

figure,imshow(fftshift(H),[]);%显示平移后滤波器算子

g=dftfilt(f,H)

figure,imshow(g,[]);

%%绘制一个低通滤波器的mesh图

clc

clear

H1=lpfilter('gaussian',500,500,50)%构造一个中心点在左上角的高斯低通滤波器,size为500*500

H2=fftshift(H1);%将中心点平移至矩阵中心

mesh(H1(1:10:500,1:10:500)),figure,mesh(H2(1:10:500,1:10: 500));%绘出2者的mesh图

axis([05005001]);%xy轴范围0~50,z轴范围0~1

figure,subplot(121),imshow(H1,[]),subplot(122),imshow(H2, []);%绘出2者的灰度图

%%绘制一个低通滤波器的mesh图

clc

clear

H=fftshift(hpfilter('ideal',500,500,100));%构造理想的高通滤波器

mesh(H(1:10:500,1:10:500));

axis([15015001]);

colormap([000]);%mesh网格全部用黑色画

axis off%关掉坐标轴显示

grid off%关掉网格显示

figure,imshow(H,[])

%%使用高通滤波器

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origi nal).tif ');

imshow(f)

title('原始图像')

PQ=paddedsize(size(f));

D0=0.05*PQ(1);

H=hpfilter('gaussian',PQ(1),PQ(2),D0);

g=dftfilt(f,H);

figure,imshow(g,[])

%%将高通滤波和直方图均衡结合起来

clc

clear

f=imread('.\images\dipum_images_ch04\Fig0419(a)(chestXray_origi nal).tif ');

imshow(f)

title('原始图像')

PQ = paddedsize(size(f));

D0 = 0.05*PQ(1);

HBW=hpfilter('btw',PQ(1),PQ(2),D0,2);%构造高通Butterworth 滤波器,截断频率为D0

H=0.5+2*HBW;

gdw=dftfilt(f,HBW);

gbw=gscale(gdw);%将灰度值自动缩放到0~255之间

figure,subplot(121),imshow(gdw,[]);

title('高通滤波后图像');

gbe=histeq(gbw,256);%直方图均衡化

subplot(122),imshow(gbe,[]);

title('高通滤波且直方图均衡化后图像');

ghf=dftfilt(f,H);%H是HBW的线性变换

ghf=gscale(ghf);

figure,subplot(121),imshow(ghf,[]); title('高频强调滤波后图像');

ghe=histeq(ghf,256);

subplot(122),imshow(ghe,[]);

title('高频强调且均衡化后图像');

%%fftshift和ifftshift的加深理解

clc

clear

A=[2001

0000

0000

3004]

B=fftshift(A)%中心点平移

C=fftshift(fftshift(A))%还原成A

D=ifftshift(fftshift(A))%也同样还原成A E=ifftshift(A)%平移结果和B一样

图像处理期末大作业

华南农业大学期末图像处理与分析开放考查题 09电气4班 曾思涛 200930530434 一、简答题。 1.如图所示,A和B的图形完全一样,其背景与目标的灰度值分别标注于图中,请问哪一个 目标人眼感觉更亮一些?为什么? 答:B感觉更亮一些。 , 因为目标比背景暗,所以越大,感觉越暗,所以A更暗,即B更亮一些。 2.简述图像平滑、图像锐化和边缘检测模板各自的特点。 答:图像平滑的特点:模板内系数全为正,且之和为1;对常数图像处理前后不变,对一般图像处理前后平均亮度不变。 图像锐化:模板内系数有正有负,且之和为1;对常数图像处理前后不变,对一般图像处理前后平均亮度不变。 边沿检测:模板内系数有正有负,且之和为0;对常数图像处理前后为0,对一般图像处理前后为边沿点。 3.有一幅包含水平的、垂直的、45度的和-45度直线的二值图像。假设直线的宽度为1个像素,

灰度值是1(背景的灰度值为0)。请给出一组能够检测出上述直线的3×3模板。 答:如下图所示。 4.简要说明开运算和闭运算各自在图像处理与分析中的作用。 答:1.先腐蚀后膨胀称为开运算;开运算能够有效的消除细小物体、毛刺,能在纤细连续点出分离物体,能平滑较大物体的边界但不明显改变物体的形状、面积和位置。 2.先膨胀后腐蚀称为闭运算:闭运算能够有效地填充物体内部细小的空洞,连接临近物体, 能在不明显改变物体面积的情况下平滑物体的边界。 5.简述描述区域边界的原链码、差分码和形状数的相互关系及各自的特点。 答:原链码具有平移不变性,没有唯一性,没有旋转不变性;差分码具有平移和旋转不变性,没有唯一性;形状数具有唯一性,平移和旋转不变性。 6.目标区域的骨架指的是什么?请画出下列图形的骨架: (1) 一个圆(2) 一个正方形。 答:骨架指的是图像经过细化之后得到的中轴。圆的骨架是它的圆心,正方形的骨架就是它的对角线。如下图所示。 二、计算分析 1.一幅16级灰度的图像,请分别采用3×3的均值滤波器和 中值滤波器对该图像进行降噪处理。绘出这两种滤波器对 图像的滤波结果(只处理灰色区域即可),并说明各自的 特点。 答:均值滤波:,

数字图像处理大作业

大作业指导书 题目:数字图像处理 院(系):物联网工程学院 专业: 计算机 班级:计算机1401-1406 指导老师: 学号: 姓名: 设计时间: 2016-2017学年 1学期

摘要 (3) 一、简介 (3) 二、斑点数据模型 .参数估计与解释 (4) 三、水平集框架 (5) 1.能量泛函映射 (5) 2.水平集传播模型 (6) 3.随机评估方法 (7) 四、实验结果 (8) 五、总结 (11)

基于水平集方法和G0模型的SAR图像分割 Abstract(摘要) 这篇文章提出了一种分割SAR图像的方法,探索利用SAR数据中的统计特性将图像分区域。我们假设为SAR图像分割分配参数,并与水平集模型相结合。分布属于G分布中的一种,处于数据建模的目的,它们已经成功的被用于振幅SAR图像中不同区域的建模。这种统计数据模型是驱动能量泛函执行区域映射的基础,被引用到水平集传播数值方案中,将SAR 图像分为均匀、异构和极其异构区域。此外,我们引入了一个基于随机距离和模型的评估过程,用于量化我们方法的鲁棒性和准确性。实验结果表明,我们的算法对合成和真实SAR 数据都具有准确性。+ 简介 1、Induction(简介) 合成孔径雷达系统是一种成像装置,采用相干照明比如激光和超声波,并会受到斑点噪声的影响。在SAR图像处理过程中,返回的是斑点噪声和雷达切面建模在一起的结果。这个积性模型(文献[1])因包含大量的真实SAR数据,并且在获取过程中斑点噪声被建模为固有的一部分而被广泛应用。因此,SAR图像应用区域边界和目标检测变得更加困难,可能需要斑点去除。因此,斑点去除是必需的,有效的方法可以在文献[2][3][4][5][6][7][8][9][10]中找到。 对于SAR图像分割,水平集方法构成一类基于哈密顿-雅克比公式的重要算法。水平集方法允许有效的分割标准公式,从文献[12]中讨论的传播函数项可以得到。经典方法有着昂贵的计算成本,但现在的水平集的实现配置了有趣的低成本的替换。 水平集方法的一个重要方面,比如传播模型,可以用来设计SAR图像的分割算法。这个传播函数能够依据伽马和伽马平方根法则将斑点统计进行整合,函数已经被广泛地应用于SAR图像中的均质区域分割。Ayed等基于伽马分布任意建模,设计方案将SAR图像分成多个均质区域。尽管多区分割问题已经解决,该方案人需要一定数量的区域作为输入。Shuai 和Sun在文献[16]中提出对这个方法进行了改进,他们使用了一个有效的传播前收敛判断。Marques等引入了一个类似于含有斑点噪声图像中目标检测的框架,将基于本地区域的斑点噪声统计融合进去。这些作者采用伽马平方根对均质区域进行建模并用一个自适应窗口方案检测本地的同质性。 最近,新的SAR数据模型比如K,G,显示出了优势。经典法则受限于均质区域特性的描述,而最近的法则展现出了在数据建模中更有吸引力的特性。法则允许同构、异构和高度异构幅度SAR数据的建模。这个分布族提供了一组参数,可以描述SAR图像中的不同区域。分布的参数信息,可以被广泛的应用于设计SAR图像处理和分类技术。在文献[21]中,Mejail 等人介绍了SAR监督数据分类器,它基于其参数映射并实现了有趣的结果。Gambini等人在文献[22]中使用这个分布的一个参数来量化SAR数据的粗糙度,通过活动轮廓和B样条差值来检测边缘。然而,这种技术需要一个初始分割步骤,并受拓扑限制。一般来说,活动轮廓方法不能解决不连续区域分割的问题。 本文介绍了一种新的水平集算法来实现SAR图像中均质、异构和极其异构区域分割的目标。由于分布能够描述SAR图像的同质性和规模,我们的方法采用分布对斑点数据进行建模。这些分布参数基于每一个域点进行估计,通过这些信息,我们可以在水平集分割框架内得到一个能量泛函来驱动向前传播(front propagation)。该泛函以最大化不同区域平均能量间的差异作为结束。最终水平集阶段以能量带作为依据得到SAR图像的分割结果。

数字图像处理 作业1汇总

数字图像处理 报告标题:01 报告编号: 课程编号: 学生姓名: 截止日期: 上交日期:

摘要 (1)编写函数计算灰度图像的均方误差(MSE)、信噪比(SNR)、峰值信噪比(PSNR)、平均绝对误差(MAE);(2)编写函数对灰度图像经行降采样,直接消除像素以及消除像素前进行简单平滑滤波;(3)编写函数对图像进行放大,分别使用像素直接复制和双线性插值的方法:(4)编写函数用题目给出的量化步骤Q去量化灰度图像,并给出相应的MSE和直方图;(5)编写函数对灰度图像执行直方图均衡化,显示均衡前后的直方图。同时,熟悉使用MATLAB,并且熟练操作对图像进行各种修改变换等。 KEY WORD :MATLAB MSE、PSNR 直方图量化

技术探讨 数字图像处理是基于Matlab来实现的,由于Matlab 独特的功能和对矩阵,图像,函数灵活的处理,因而用于图像的处理相当的方便。 task1 均方误差(MSE),信噪比(SNR),峰值信噪比(PSNR),平均绝对误差(MAE)。可以使用使用for循环语句,分别计算图像MSE/SNR/PSNR/MAE,具体的计算公式见附录代码,下面只附运算原理代码 均方误差(MSE): sum=sum+(a(i,j)-b(i,j))^2; MSE=sum/(M*N) 信噪比(SNR): sum2=sum2+a(i,j)^2; SNR=10*log10(sum2/MSE) 峰值信噪比(PSNR): sum=sum+(a(i,j)-b(i,j))^2; PSNR=10*log10(255^2/MSE) 平均绝对误差(MAE): sum=sum+a(i,j)+b(i,j); MAE=sum/(M*N) 在每次对同一个图像处理时它们的均方误差(MSE),信噪比(SNR),峰值信噪比(PSNR),平均绝对误差(MAE)都会有所不同,因为它是原图像与加噪后的图像比较,而电脑的每次操作都会对加噪过得图像有影响。 task3 按比例缩小灰度图像 (1)直接消除像素点: I1=g(1:m:end,1:m:end);I1 为缩小后的图像,g为原图。 (2)先平滑滤波再消除像素点: 滤波函数,g=imfilter(I,w,'corr','replicate'); task4 对图像的放大运用了pixel repetition法以及双线性插值法: 它有三种插值法:即最近邻插值(pixel repetition)、双线性插值、双三次插值(缩放倍数为0.5) ;缩放与放大由给定的参数来确定。 ;缩放与放大由给定的参数来确定。而缩小则同样适用I1=g(1:m:end,1:m:end); 而放大的代码为“J=imresize(I,m,'nearest');%使用pixel repetition法”和“J=imresize(I,m,'bilinear');%使用双线性插值法” 放大倍数更改m值即可 task4 对图像的量化,使用“J=histeq(I,x); ”,x为可变的量化步长 task5 灰度图像的量化和直方图均衡化直接调用函数。“J=histeq(I)”“imhist(I,64)”

云南大学 图像识别与处理大作业

云南大学软件学院期末课程报告 Final Course Report School of Software, Yunnan University 个人成绩 学期: 2014秋季学期 课程名称: 图像识别与处理 任课教师: 郑智捷 题目: 图像识别与处理期末 姓名: 学号 联系电话: 电子邮件: 完成提交时间:2014年12月29日作业截止时间:2014年12月29日

目录 一实验概述 (1) 1.1实验介绍 (1) 1.2 实验要求 (1) 1.3 实验原理 (1) 二实验内容 (1) 2.1 实验平台介绍 (1) 2.2 功能设计和结构设计 (1) 2.2.1 功能设计 (1) 2.2.2系统功能设计框图 (3) 2.3.3 功能实现原理 (4) 2.3 用户操作界面设计 (5) 2.3.1 主界面设计 (5) 2.4 用户使用说明书 (5) 2.4.1 编写目的 (5) 2.4.2 运行和使用 (5) 2.4.3 软件简介 (5) 2.4.4 操作说明 (7) 三总结 (16)

一实验概述 1.1实验介绍 实验通过课上所讲的知识来实现对图片的操作 1.2 实验要求 1设计的具有个性化实现的交互式集成系统界面 2包含如下几类图像处理具有8种以上的操作功能 a) 点运算直方图/彩色直方图/灰度校正 b) 邻域运算高通/低通/边缘滤波器 c) 分块运算 FFT/DCT/小波变换滤波器 d) 一维元胞自动机基本函数可视化/不少于4类函数 100次迭代后的 基元模式测度 3系统设计和实现文档 e) 功能设计和体系结构 f) 用户操作界面设计 g) 用户使用说明书 1.3 实验原理 图像识别,是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对像的技术。一般工业使用中,采用工业相机拍摄图片,然后再利用软件根据图片灰阶差做进一步识别处理,图像识别软件国外代表的有康耐视等,国内代表的有图智能等。另外在地理学中指将遥感图像进行分类的技术。 二实验内容 2.1 实验平台介绍 实现语言:java 实现平台:eclips 2.2 功能设计和结构设计 2.2.1 功能设计

数字图像处理大作业.doc

-------------精选文档 ----------------- 1、下图是一用于干涉原理进行测试的干涉场图像,要求判读条纹的间距,请 给出图像处理的方案并说明每一步的作用及其对其它处理步骤可能产生的影响。 解:步骤与思路: ○1.进行模糊处理,消除噪声 ○2.边缘检测,进行图像增强处理 ○3.二值化图像,再进行边缘检测,能够得到很清晰的边界。 ○4.采用横向标号法,根据值为1 像素在标号中的相邻位置可以确定间距 I=imread('xz mjt.bmp'); I1=medfilt2(I);%对图像中值滤波 imshow(I1); [m,n]=size(I1); for i=1:m for j=1:n if(I1(i,j)<100)% 阈值为 100 I1(i,j)=255; else I1(i,j)=0;%进行二值化

-------------精选文档 ----------------- end end end figure; imshow(I1); Y1=zeros(1,25); y2=y1; c=y2; i=100; for j=1:1200 if (I1(i,j)==255&&I1(i,j+1)==0) Y1=j+1; end if (I1(i,j)==0&&I1(i,j+1)==255) Y2=j; end end for i=1:25 c=Y2(i)-Y1(i) end c%找出每两个条纹之间的距离

2.现有 8 个待编码的符号 m0,,m7, 它们的概率分别为 0.11,0.02,0.08,0.04,0.39,0.05,0.06,0.25,利用哈夫曼编码求出这一组符号的编码并画出哈夫曼树。 3.请以图像分割方法为主题,结合具体处理实例,采用期刊论文格式,撰写一篇小论文。

数字图像处理大作业

1、下图是一用于干涉原理进行测试的干涉场图像,要求判读条纹的间距,请给 出图像处理的方案并说明每一步的作用及其对其它处理步骤可能产生的影响。 解:步骤与思路: ○1.进行模糊处理,消除噪声 ○2.边缘检测,进行图像增强处理 ○3.二值化图像,再进行边缘检测,能够得到很清晰的边界。 ○4.采用横向标号法,根据值为1像素在标号中的相邻位置可以确定间距 I=imread('xz mjt.bmp'); I1=medfilt2(I); %对图像中值滤波 imshow(I1); [m,n]=size(I1); for i=1:m for j=1:n if(I1(i,j)<100) %阈值为100 I1(i,j)=255; else I1(i,j)=0; %进行二值化 end end end figure; imshow(I1);

Y1=zeros(1,25); y2=y1; c=y2; i=100; for j=1:1200 if (I1(i,j)==255&&I1(i,j+1)==0) Y1=j+1; end if (I1(i,j)==0&&I1(i,j+1)==255) Y2=j; end end for i=1:25 c=Y2(i)-Y1(i) end c %找出每两个条纹之间的距离

2. 现有8个待编码的符号m0,……,m7,它们的概率分别为0.11,0.02,0.08,0.04,0.39,0.05,0.06,0.25,利用哈夫曼编码求出这一组符号的编码并画出哈夫曼树。 3. 请以图像分割方法为主题,结合具体处理实例,采用期刊论文格式,撰写一篇小论文。

数字图像处理部分作业答案

3.数字化图像的数据量与哪些因素有关? 答:数字化前需要决定影像大小(行数M、列数N)和灰度级数G的取值。一般数字图像灰度级数G为2的整数幂。那么一幅大小为M*N,灰度级数为G的图像所需的存储空间M*N*g(bit),称为图像的数据量 6.什么是灰度直方图?它有哪些应用?从灰度直方图你能获得图像的哪些信息? 答:灰度直方图反映的是一幅图像中各灰度级像素出项的频率之间的关系。以灰度级为横坐标,纵坐标为灰度级的频率,绘制频率同灰度级的关系图就是灰度直方图。 应用:通过变换图像的灰度直方图可以,使图像更清晰,达到图像增强的目的。 获得的信息:灰度范围,灰度级的分布,整幅图像的平均亮度。但不能反映图像像素的位置。 2. 写出将具有双峰直方图的两个峰分别从23和155移到16和255的图像线性变换。 答:将a=23,b=155 ;c=16,d=255代入公式: 得 1,二维傅里叶变换有哪些性质?二维傅里叶变换的可分离性有何意义? 周期性,线性,可分离性,比例性质,位移性质,对称性质,共轭对称性,差分,积分,卷积,能量。 意义:分离性表明:二维离散傅立叶变换和反变换可用两组一维离散傅立叶变换和反变换来完成。 8.何谓图像平滑?试述均值滤波的基本原理。 答:为了抑制噪声改善图像质量所进行的处理称图像平滑或去噪。 均值滤波是一种局部空间域处理的算法,就是对含有噪声的原始图像f(x,y)的每个像素点取一个领域S,计算S中所有像素的灰度级平均值,作为空间域平均处理后图像g(x,y)像素值。 9.何谓中值滤波?有何特点? 答:中值滤波是对一个滑动窗口内的诸像素灰度值排序,用中值代替窗口中心像素的原来灰度值,它是一种非线性的图像平滑法。 它对脉冲干扰及椒盐噪声的的图像却不太合适。抑制效果好,在抑制随机噪声的同时能有效保护边缘少受模糊。但它对点、线等细节较多 6图像几何校正的一般包括哪两步?像素灰度内插有哪三种方法?各有何特点? 答:1)建立失真图像和标准图像的函数关系式,根据函数关系进行几何校正。 2)最近邻插值,双线性插值,三次卷积法 3)最近邻插值:这种插值方法运算量小,但频域特性不好。 3、若f(1,1)=4,f(1,2)=7,f(2,1)=5,f(2,2)=6,分别按最近邻元法、双线性插值法确定点(1.2,1.6)的灰度值。 最近邻元法:点(1.2,1.6)离(1,2)最近,所以其灰度值为7.双线性法:f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1) 将i=1,j=1,u=0.2,v=0.6代入,求得:f(i+u,j+v)=5.76。四舍五入取整后,得该点其灰度值为6

数字图像处理大作业

大作业要求 1.数字图像处理中的图像增强、图像分割、数学形态学、图像编码这几个章节中,围绕你所感兴趣的题目写一篇综述。 2.要求: (1)在中国知网上下载5篇以上相关文章,结合上课所学内容,确定综述的内容。(2)文字3000字以上,包含 a. 课题背景和概述 b. 国内外研究现状 c. 技术应用(可以实现哪些功能,实 现的方法及结果 d. 结论 e. 学习体会 f.参考文献 (3)综述的排版: 正文层次格式如下: 1(空两格)×××××(居中,三号宋体,加粗,占4行) 1.1×××(左顶格,四号宋体,加粗,占 2.5行,不接排) 1.1.1×××(左顶格,小四号宋体,加粗,占2行,不接排) a.(左空两格,a.后空一格)×××(小4号宋体,加粗) (正文)×××××(小4 号宋体,接排)

(1)(左空两格,(1)后空一格)×××(小4号宋体,加粗) (正文)×××××(小4号宋体,接排) 1)(左空两格,1)后空一格)(小4号宋体,加粗) (正文)×××××(小4号宋体,接排) 正文中段落一律段前、段后0磅,行距为20磅,对齐方式:两端对齐。小4号字体。 论文中的图和表居中,并且有图题和表题。 例如: 图 1 主站工作过程(5号字体,加粗) 表1 不同总线速率下从站的延迟时间(5号字体,加粗) 速率(Kbit/s ) 9.6 19.2 93.75 187.5 500 1500 1200SDR minT (bit T ) 11 11 11 11 11 11 11 SDR maxT (bit T ) 60 60 60 60 100 150 800 参考文献按照下面形式给出: 参考文献 (居中,三号,宋体,加粗,占4行)

(完整版)数字图像处理大作业

数字图像处理 1.图像工程的三个层次是指哪三个层次?各个层次对应的输入、输出对象分别是什么? ①图像处理 特点:输入是图像,输出也是图像,即图像之间进行的变换。 ②图像分割 特点:输入是图像,输出是数据。 ③图像识别 特点:以客观世界为中心,借助知识、经验等来把握整个客观世界。“输入是数据,输出是理解。 2.常用的颜色模型有哪些(列举三种以上)?并分别说明颜色模型各分量代表的意义。 ①RGB(红、绿、蓝)模型 ②CMY(青、品红、黄)模型 ③HSI(色调、饱和度、亮度)模型 3.什么是图像的采样?什么是图像的量化? 1.采样 采样的实质就是要用多少点来描述一幅图像,采样结果质量的高低就是用前面所说的图像分辨率来衡量。简单来讲,对二维空间上连续的图像在水平和垂直方向上等间距地分割成矩形网状结构,所形成的微小方格称为像素点。一副图像就被采样成有限个像素点构成的集合。例如:一副640*480分辨率的图像,表示这幅图像是由640*480=307200个像素点组成。 2.量化 量化是指要使用多大范围的数值来表示图像采样之后的每一个点。量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。 针对数字图像而言: 采样决定了图像的空间分辨率,换句话说,空间分辨率是图像中可分辨的最小细节。 量化决定了图像的灰度级,即指在灰度级别中可分辨的最小变化。 数字图像处理(第三次课)

调用图像格式转换函数实现彩色图像、灰度图像、二值图像、索引图像之间的转换。 图像的类型转换: 对于索引图像进行滤波时,必须把它转换为RGB图像,否则对图像的下标进行滤波,得到的结果是毫无意义的; 2.用MATLAB完成灰度图像直方图统计代码设计。

《数字图像处理》复习大作业及答案

2014年上学期《数字图像处理》复习大作业及参考答案 ===================================================== 一、选择题(共20题) 1、采用幂次变换进行灰度变换时,当幂次取大于1时,该变换是针对如下哪一类图像进行增 强。(B) A 图像整体偏暗 B 图像整体偏亮 C图像细节淹没在暗背景中D图像同时存在过亮和过暗背景 2、图像灰度方差说明了图像哪一个属性。(B ) A 平均灰度 B 图像对比度 C 图像整体亮度D图像细节 3、计算机显示器主要采用哪一种彩色模型( A ) A、RGB B、CMY或CMYK C、HSI D、HSV 4、采用模板[-1 1]T主要检测( A )方向的边缘。 A.水平 B.45? C.垂直 D.135? 5、下列算法中属于图象锐化处理的是:( C ) A.低通滤波 B.加权平均法 C.高通滤波 D. 中值滤波 6、维纳滤波器通常用于( C ) A、去噪 B、减小图像动态范围 C、复原图像 D、平滑图像 7、彩色图像增强时, C 处理可以采用RGB彩色模型。 A. 直方图均衡化 B. 同态滤波 C. 加权均值滤波 D. 中值滤波 8、__B__滤波器在对图像复原过程中需要计算噪声功率谱和图像功率谱。 A. 逆滤波 B. 维纳滤波 C. 约束最小二乘滤波 D. 同态滤波 9、高通滤波后的图像通常较暗,为改善这种情况,将高通滤波器的转移函数加上一常数量以 便引入一些低频分量。这样的滤波器叫B。 A. 巴特沃斯高通滤波器 B. 高频提升滤波器 C. 高频加强滤波器 D. 理想高通滤波器 10、图象与灰度直方图间的对应关系是 B __ A.一一对应 B.多对一 C.一对多 D.都不 11、下列算法中属于图象锐化处理的是:C A.低通滤波 B.加权平均法 C.高通滤 D. 中值滤波 12、一幅256*256的图像,若灰度级数为16,则存储它所需的比特数是:( A ) A、256K B、512K C、1M C、2M 13、噪声有以下某一种特性( D ) A、只含有高频分量 B、其频率总覆盖整个频谱 C、等宽的频率间隔内有相同的能量 D、总有一定的随机性 14. 利用直方图取单阈值方法进行图像分割时:(B) a.图像中应仅有一个目标 b.图像直方图应有两个峰 c.图像中目标和背景应一样大 d. 图像中目标灰度应比背景大 15. 在单变量变换增强中,最容易让人感到图像内容发生变化的是( C )

数字图像处理作业 1

数字图像处理作业 1 1.基本问题 a.什么是数字图像处理,英语全称是什么? 数字图像处理:对图像进行一些列的操作,以达到预期目的的技术,可分为模拟图像处理和数字图像处理两种方式。英文全称:Image Processing b.数字图像处理与什么领域的发展密切相关? 数字图像处理与数字计算机的发展,医学,遥感,通信,文档处理和工业自动化等许多领域的发展密切相关。 c.人类主要通过什么来感知获取信息的? 主要通过人的视觉、味觉、嗅觉、触觉、听觉以及激光、量子通信、现代计算机网络、卫星通信、遥感技术、数码摄影、摄像等来获取信息。 d.数字图像处理技术与哪些学科领域密切相关? 与数学、物理学、生理学、心理学、电子学、计算机科学等学科密切相关 e.数字图像处理在哪些领域得到广泛应用? 数字图像处理的应用越来越广泛,已渗透到工程、工业、医疗保健、航空航天、军事、科研、安全保卫等各个领域。 f.数字图像处理起源于什么年代? 20世纪20年代 g.现代大规模的图像处理需要具备哪些计算机能力? 需要具备图像处理、图像分析、图像理解计算机能力 h.根据人的视觉特点,图像可分为哪两种图像? 分为可见图像和不可见图像。 i.根据光的波段,图像可分为哪几种图像? 分为单波段、多波段和超波段图像。 j.图像数字与模拟图像的本质区别是什么? 区别: 模拟图像:空间坐标和明暗程度都是连续变化的、计算机无法直接处理。 数字图像:空间的坐标和灰度都不连续、用离散的数字表示,能被计算机处理。 2.通过互联网,查下数字图像处理有哪些应用?选一个应用范例即可。具体描绘如何通过数字图像处理技术来实现其应用。要有图像范例说明。 数字图像处理主要应用领域有:生物医学,遥感领域,工业方面,军事公安领域,通信领域,交通领域等。我就生物医学领域做一个简单介绍。 自伦琴1895年发现X射线以来,在医学领域可以用图像的形式揭示更多有用的医学信息医学的诊断方式也发生了巨大的变化。随着科学技术的不断发展,现代医学已越来越离不开医学图像的信息处理,医学图像在临床诊断、教学科研等方面有重要的作用。目前的医学图像主要包括CT (计算机断层扫描) 图像、MRI( 核磁共振)图像、B超扫描图像、数字X 光机图像、X 射线透视图像、各种电子内窥镜图像、显微镜下病理切片图像等。 医学图像处理跨计算机、数学、图形学、医学等多学科研究领域,医学图像处理技术包括图像变换、图像压缩、图像增强、图像平滑、边缘锐化、图像分割、图像识别、图像融合等等。在此联系数字图像处理的相关理论知识和步骤设计规划系统采集和处理的具体流程同时充分考虑到图像采集设备的拍摄效果以及最终处理结果的准确性。下面是关于人体微血管显微图像的采集实例。

数字图像处理大作业要点

数字图像处理实验报告 学院:信息学院 专业:电科1004班 姓名: 学号: 辅导老师: 完成日期: 2013年6月29日 空域图像增强 实验要求:

(1)选择若干图像(两幅以上),完成直方图均衡化。 (2)选择若干图像(两幅以上),对图像文件分别进行均值滤波、中值滤波和拉 普拉斯锐化滤波操作。 (3)添加噪声,重复上述过程观察处理结果。 实验原理: (1)图像增强是图像处理的基本内容之一,图像增强是指按特定的需要突出一幅 图像中的某些信息,同时削弱或去除某些不需要信息的处理方法,其目的是使得处理后的图像对某种特定的应用,比原始图像更合适。处理的结果使图像更适应于人的视觉特性或机器的识别系统。图像增强主要可分为三类:频域图像增强方法、小波域图像增强方法、空域图像增强方法。 (2)空域图像增强主要包括:直方图均衡化、平滑滤波和锐化滤波等方法。 (3)直方图均衡化是图像处理领域中利用图像直方图对对比度进行调整的方法。 这种方法通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。通过这种方法,亮度可以更好地在直方图上分布。 这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能。直方图均衡化的基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了象素灰度值的动态范围从而可达到增强图像整体对比度的效果。 (4)平滑滤波是低频增强的空间域滤波技术。它的目的有两类:一类是模糊;另 一类是消除噪音。空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。 (5)均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板, 该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。 线性滤波的基本原理是用均值代替原图像中的各个像素值,即对待处理的当前像素点(x,y),选择一个模板,该模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点(x,y),作为处理后图像在该点上的灰度个g(x,y),即个g(x,y)=1/m ∑f(x,y) m为该模板中包含当前像素在内的像素总个数。 (6)中值滤波是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技 术,中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。方法是用某种结构的二维滑动模板,将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。 (7)拉式算子是一个刻画图像灰度的二阶商算子,它是点、线、边界提取算子, 亦称为边界提取算子。通常图像和对他实施拉式算子后的结果组合后产生一个锐化图像。拉式算子用来改善因扩散效应的模糊特别有效,因为它符合降制模型。 拉普拉斯算子也是最简单的各向同性微分算子,具有旋转不变性。一个二维

西安交通大学大学数字图像处理大作业

数字图像处理

目录 作业一 (1) 一作业要求 (1) 二源代码 (1) 三运行结果 (3) 作业二 (5) 一作业要求 (5) 二算法描述 (5) 三源代码 (7) 四运行结果 (10)

作业一 一作业要求 在图像的空间域滤波操作中,会出现有部分掩膜矩阵在图像外面的情况,所以需要给图像先加入一个边界,执行完操作之后,再去掉这个边界,保证图像中所有的像素都参与矩阵运算。 二源代码 byte[,] filter(byte[,]f,float[,]mask) { int w = f.GetLength(0); int h = f.GetLength(1); byte[,] g = new byte[w,h]; int M = mask.GetLength(0)/2; int N = mask.GetLength(1)/2; for (int y=N;y255) return 255; if (v<0) return 0; return (byte)v;

} float[,] averagingMask(intM,int N) { float[,] mask = new float[2*M+1,2*N+1]; for (int m=-M;m<=M;m++) for (int n=-N;n<=N;n++) mask[M+m,N+n] = 1.0f/((2*M+1)*(2*N+1)); return mask; } byte[,] addboard(byte[,] f,intM,int N) { int w=f.GetLength(0); int h=f.GetLength(1); intgw=w+2*M; intgh=h+2*N; byte[,] g=new byte[gw,gh]; //add top board and bottom board for(inti=0;i

数字图像处理大作业

[HW5][24]SA11009045_张海滨 大作业 1、行模糊、锐化、和直方图均衡化。 程序: I=imread('E:\研一\数字图像处理\作业\HW5\DSC00003.JPG'); figure,imshow(I),title('原始图像'); I1=rgb2gray(I); I1=imresize(I1,0.5); figure,imshow(I1),title('灰度图像'); h=ones(5,5)/25; I2=imfilter(I1,h); figure,imshow(I2),title('模糊处理'); J=double(I1); h1=fspecial('laplacian'); I3=filter2(h1,J); figure,imshow(I3),title('锐化处理'); I4 = histeq(I1,256); figure,imhist(I1),title('原图像直方图'); figure,imshow(I4),title('均衡化处理'); figure,imhist(I4),title('均衡化后直方图'); 进行运算的结果为: 原始图像

此为进行处理的原始图像。进行图像灰度化并把图像的大小进行调整为原来的一半,得到图像: 对图像分别进行均值滤波器模糊、拉普拉斯算子锐化处理,得到的结果如下图:

方图如下所示。

2、边缘检测,程序: I=imread('F:\研一\数字图像处理\作业\HW5\DSC00003.JPG'); I1=rgb2gray(I); I1=imresize(I1,0.5); J=double(I1); H=[0 1 0;1 -4 1;0 1 0]; J=conv2(J,H,'same'); J=I1-J; subplot(1,2,1); imshow(I1),title('灰度图像'); subplot(1,2,2); imshow(J),title('Laplace算子边缘检测'); G1 = [-1 -2 -1;0 0 0;1 2 1]; G2 = G1'; Iedge=I1; I2x = filter2(G1,Iedge); I2y = filter2(G2,Iedge); I2=abs(I2x+I2y); I22 = mat2gray(I2);

数字图像处理大作业报告

数字图像处理 实验报告 实验选题:选题二 组员: 学号: 班级: 指导老师: 实验日期:2019年5月22日

一、实验目的及原理 1.识别出芯片的引脚 2.熟悉并掌握opencv的某些函数的功能和使用方法 原理:通过滤波、形态学操作得到二值图,再在二值图中设置条件识别引脚部分。 二、实现方案 对图片滤波、调节阈值做边缘检测过滤掉一部分图片中干扰元素;然后通过膨胀、腐蚀操作来减少引脚的空心部分;再通过findContours()函数找到引脚的边缘并得到轮廓的点集,设置特定的长宽比和矩形面积识别引脚部分。 三、实验结果

四、源码 #include #include #include"opencv2/highgui/highgui.hpp" #include"opencv2/imgproc/imgproc.hpp" using namespace std; using namespace cv; int main(int argv, char **argc) { //载入图片 Mat srtImag = imread("2.jpg"); Mat G_blur = srtImag.clone(); //降噪 blur(G_blur, G_blur, Size(5, 5)); //imshow("降噪", G_blur); //Canny边缘检测 Mat Canny_Imag = G_blur; Canny_Imag = Canny_Imag > 176; Canny(G_blur, Canny_Imag, 300, 50, 3); //imshow("边缘检测", Canny_Imag); //膨胀 Mat element = getStructuringElement(MORPH_RECT, Size(10, 10)); dilate(Canny_Imag, Canny_Imag, element); //imshow("膨胀", Canny_Imag); //腐蚀 Mat element_1 = getStructuringElement(MORPH_RECT, Size(11, 11)); erode(Canny_Imag, Canny_Imag, element_1); //imshow("腐蚀", Canny_Imag); //查找轮廓 vector>contours; vectorhierarchy; findContours(Canny_Imag, contours, hierarchy, RETR_CCOMP, CHAIN_APPROX_SIMPLE); vector> contour_s(contours.size());//该数组共有contours.size()个轮廓的点集 vector Rec_s(contours.size());//逼近多边形的点集数组

数字图像处理大作业-昆明理工大学-尚振宏

数字图像基础 课程名称:数字图像基础 学院:信息工程与自动化学院 专业年级: 2010级计算机系班 学号: 2010104052 学生姓名: 指导教师:尚振宏 日期: 2013-6-11 目录

目录 (1) 1前言 (2) 2图像分割的方法简介 (3) 2.1迭代法 (3) 2.2类间最大距离法 (3) 2.3最大熵法 (4) 2.4最大类内类间方差比法 (4) 2.5局部阈值法 (5) 2.6均匀性度量法 (6) 3简单算法及其实现 (6) 3.1最优阈值算法 (6) 3.2 Canny算法 (8) 4、试验对比 (10) 4.1迭代法试验对比 (10) 4.2类间最大距离法试验对比 (10) 4.3最大熵法试验对比 (11) 4.4最大类内类间方差比法试验对比 (11) 4.5局部阈值法试验对比 (12) 4.6均匀性度量法试验对比 (12) 5、总结体会 (13) 6、参考文献 (13) 7、附录 (14) 7.1迭代法代码 (14) 7.2类间最大距离法代码 (14) 7.3最大熵法代码 (15) 7.4最大类内类间方差比法代码 (16) 7.5局部阈值法代码 (18) 7.6均匀性度量法代码 (18)

1、前言 图像分割是图像处理中的一项关键技术,自20世纪70年代起一直受到人们的高度重视,至今已提出上千种分割算法,但因尚无通用的分割理论,现提出的分割算法大都是针对具体问题的,并没有一种适合所有图像的通用分割算法。另外,还没有制定出选择适用分割算法的标准,这给图像分割技术的应用带来许多实际问题。最近几年又出现了许多新思路、新方法或改进算法。总的来说,图像分割是图像识别和图像分析的基本前提步骤,图像分割的质量好坏直接影响后续图像处理的效果,甚至决定成败。因此,图像分割在数字图像处理技术中占有非常重要的地位。图像分割时指将一副图像分解为若干互不交叠的、有意义的、具有相同性质的区域。好的图像分割应具备以下特征:⑴分割出来的各个区域对某种特性(例如灰度和纹理)而言具有相似性,区域内部是连通的且没有过多小孔。⑵相似区域对分割所依据的性质有明显的差异。⑶区域边界是明确的。图像分割是一个很关键的图像分析技术,是由图像处理进到图像分析的关键步骤.它的目的就是把图像中感兴趣的那部分分割出来供大家研究、处理和分析,一直都是图像技术研究中的热点。但是由于地域的差别,图像分割一直都没有一个比较通用的算法。 在实际图像处理中,一般情况下我们只是注意到图像中那些我们感兴趣的目标,因为只有这部分也就是我们注意到的有用的目标物才能为我们提供高效、有用的信息。而这些目标一般又都对应着图像中某些特定的、具有独特性质的区域。为了把这些有用的区域提取出来供我们人类使用,图像分割这门技术也就应运而生了。我们通常情况下所说的图像分割就是指把图像划分成若干个有意义的区域的过程,每个区域都是具有相近特性的像素的连通集合,一般情况下我们所关注到的那些有用的目标物就存在与这些区域中。研究者们为了识别和分析图像中的那部分我们感兴趣的目标,例如进行特征提取或者测量,就需要将这些相关的区域从图像背景中提取出来。图像分割就能够把图像中的这些有用的区域分割出来,从而把一幅图像分成一系列的有意义的、各具特征的目标或者区域。 图像分割技术主要分为四大类:区域分割,阈值分割,边缘检测和差分法运动分割(主要针对运动图像的分割)。阈值分割是近年来国际领域上的一个新的研究热点,它是一种最简单的图像分割技术,其基本原理就是:通过设定不同的特征阈值点,从而把图像的象素点分为若干类,然后通过阈值点来分割图像,最终把图像中的有用的部分提取出来。本文将对matlab用于图像分割的基本理论进行简要研究,并对当前matlab用于图像分割的最新研

图像处理和理解大作业要点

目录 1.整体方案设计 (2) 2.各模块具体实现 (4) 2.1原始图像 (4) 2.2图像灰度化处理 (4) 2.3车牌定位 (5) 2.4车牌字符的分割 (6) 2.5车牌字符识别 (8) 3.程序调试与结果分析 (9) 4.总结 (9) 5.附录 (10)

摘要:当今生活中汽车的作用越来越重要,带给了人们生活无尽便利,车辆总数越来越大,对汽车的管理也越来越困难。在这样的背景下图像处理领域内的汽车车牌识别技术具有巨大实用性的意义,而MATLAB有其突出的处理图像数据的能力,运用MATLAB实现对图像的预处理、车牌定位、车牌字符分割以及字符识别,进行车牌的自动识别。关键词:MATLAB;图像处理;车牌定位;字符分割;字符识别 1.整体方案设计 车牌识别的整体方案流程图如下: 1)图像采集包括CCD摄像机、照明设备、图像采集卡等。感应设备发出的信号出发图像采集卡,采集卡将模拟信号转换为数字信号后送到计算机。 2)图像预处理:因为车牌图像都是在室外拍摄的,所以会受到光照、气候等因素的影响,而且车辆的移动会造成图像的模糊。要去除这些干扰就得先对车牌图像进行预 处理。由于当前数码相机的像素较高,原始图像的数据一般比较大,输入的彩色图 像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统的执行速度。 因此对图像进行识别等处理时,常将彩色图像转换为灰度图像,以加快处理速度。 对图像进行灰度化处理后常用的方法是图像二值化、去除背景图像、增强处理、边 缘检测、滤波等处理等。 3)车牌定位方法:车牌识别前期的关键就是准确定位车牌的位置,然后才能进行车牌中字符的识别。经过查阅资料发现目前主要有以下四种车牌定位的方法: A.基于灰度边缘检测与形态学重构的方法。这种方法只要利用车牌区域局部对比度明显和有规律的纹理特征来定位,然后利用形态学方法将车牌区域与其它背 景区域分离。 B.基于直线检测的方法。这种方法主要Hough变换的方法来检测车牌周围边框直线,利用车牌形状特性来定位车牌。 C.根据车牌的固有长宽比进行定位的方法。因为中外车牌的长宽比都是固定的 3.1:1,在预处理完成后对二值化的图像进行膨胀腐蚀,计算联通区域长宽比

相关文档
最新文档