图像处理 实验报告(精选6篇)
篇1:图像处理 实验报告
实 实 验 报 告
实验课程名称
图像处理(第二版)
指 指 导 老 师
邓天明
学 学
院
交通运输
年级
2012 级
专业及班级
交通信息与控制工程二班
学 学 生 姓 名
田
飞
学
号 631205090230
开 开 课 时 间
2014
至
2015
学年第 2
学期
总 总 成 绩
教师签名
实验名称 直方图均衡化 实验类型 验证型 实验时间 2015/6/2 实验地点 基础实验楼北 501 实验目的:
1.熟悉图像数据在计算机中的存储方式; 2.掌握图像直方图均衡化这一基本处理过程。
仪器、设备名称:
PC 微机一台和 MATLAB 软件。
实验要求及注意事项:
本次实验注意事项总结如下:
1、要学会利用 Matlab 中的帮助信息,因为很多函数的调用方法都是可以在帮助中找到的。在调用函数时应重点看 Examples 中的方式。
2、在 Matlab 中进行重复操作时,可以用方向上键重复命令,也可以在命令窗口中进行复制粘贴。
3、使用软件处理图像时,注意不要使用复杂图像,以免处理时间过长且显示效果不理想。
实验内容、操作步骤:
实验内容:
1.读入图像数据到内存中,并显示读入的图像; 2.实现直方图均衡化处理,显示处理前后图像的直方图。
3.显示并保存处理结果。
实验步骤:
1.打开 Matlab 编程环境; 2.获取实验用图像。用’imread’函数将图像读入 Matlab;用’imshow’函数显示读入的图像。
3.获取输入图像的直方图:用’imhist’函数处理图像。
4.均衡化处理:用’histeq’函数处理图像即可。
5.获取均衡化后的直方图并显示图像:用’imhist’和’imshow’函数。
6.保存实验结果:用’imwrite’函数处理。
实验结果分析(含数据、图表整理):
程序源代码 :
A = imread(‘D:TF.gif’, ‘gif’);imshow(A);imhist(A);histeq(A);Imhist(A);Imshow(A);Imwrite(A, ‘D:TF.gif’, ‘GIF’);
处理结果:
图 1
灰度图
图 2
均衡化图
图 3
直方图
实验收获、心得及建议:
直方图均衡化是直方图变换方法中的一种,进行图像增强的方法是以概率论为基础的。
直方图均衡化主要用于增强动态范围偏小的图像的反差。这个方法基本思想是把原始图的直方图变换为均匀分布的形式,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度德效果。
数字图像直方图均衡化之后直方图不是绝对平坦的,因为不能将同一个灰度值的各个像素变换到不同灰度级(或说此时仅根据灰度值区分不开不同的像素),所以数字图像直方图均衡化的结果一般只是近似均衡化的直方图。
在本次实验中发现:直方图均衡化在增强反差的同时也增强了图像的可视粒度。
实验名称 频域平滑滤波 实验类型 验证型 实验时间 2015/6/9 实验地点 基础实验楼北 501 实验目的:
1.熟悉图像数据在频率域的表示; 2.掌握频域图像增强的基本步骤。
仪器、设备名称:
PC 微机一台、MATLAB 软件、GIF 格式图片一张。
实验要求及注意事项:
在选择图片时应当选择 TTF 格式或者 GIF 格式的图片,若不是这种格式则应该在画图工具中改为上述格式,因为其他格式都打不开。
实验内容、操作步骤:
实验内容:
1.综合利用所学的数字图像基本存储结构、图像变换、图像增强等知识实现频率域图像增强; 2.在频率域进行用半径值分别为 5,15,30,80 和 230 的理想低通滤波器对图像进行平滑,并观察滤波效果。
操作步骤:
1.打开 Matlab 编程环境; 2.获取实验用图像。用’imread’函数将图像读入 Matlab;用’imshow’函数显示读入的图像。
3.将图像’uint8’格式转换为’double’格式,并将各点数据乘以-1 的(x+y)次方以便 FFT 变换后的结果中低频数据处于图像中央。
4.用’fft2’函数对图像数据进行二维 FFT 变换,得到频率域图像数据。
5.计算频率域图像的幅值并进行对数变换,利用’imshow’显示频率域图像。
6.在频率图像上去除滤波半径意外的数据(置 0)。
7.计算频率域图像的幅值并进行对数变换,利用’imshow’显示频率域图像。
8.用’fft2’函数对图像数据进行二维 FFT 逆变换,并用’real’函数取其实部,得到处理过的空间域图像数据。
9.将图像数据各点数据乘以-1 的(x+y)次方。
10.用’imshow’函数显示处理结果图像数据,并用’imwrite’函数保存图像处理结果数据。
实验结果分析(含数据、图表整理):
程序源代码:
function
idlvbo(r)
I=imread(“E: tu bailong1.gif”);
subplot(1,2,1),imshow(I);% 显示原图
title(“bailong2 原 图 ”);
k=double(I);% ‘ uint8 格式转换为‘ double ’
g=fft2(k);% 傅里叶变换
g=fftshift(g);% 实现低频数据处于图像中心
figure,imshow(g);
% % 除去滤波半径以外的数据
[M ,N]=size(g);% 计算幅值
m=fix(M/2);
n=fix(N/2);
%m=round(M/2);
%n=round(N/2);
for i=1:M
for j=1:N
d=sqrt((i--m)^2+(j--n)^2);
if
d<=r
h=1;
else
h=0;
end
y(i,j)=h*g(i,j);
end
end
y=ifftshift(y);
E1=ifft2(y);
E2=uint8(real(E1));
subplot(1,2,2),imshow(E2);
title(“ 处理后的图像 ”);
imwrite(E2,“E2.tif”,“tif”);
处理结果:
原图
r=5 的结果图
r=15 的结果图
r=30 的结果图
r=80 的结果图
r=230 的结果图
实验收获、心得及建议:
在频域空间,图像的信息表现为不同频率分量的组合。如果能让某个范围内的分量或某些频率的分量受到抑制而让其他分量不受影响,就可以输出图的频率分布,达到不同的增强目的。
频域空间的增强方法有三个步骤:
1、将图像从图像空间转换到频域空间; 2、在频域空间对图像进行增强; 3、将增强后的图像再从频域空间转换到图像空间; 本次试验中在 FFT 变换前后,将各点数乘以-1 的(x+y)次方,是为了将图像处理后它的中低频数据处于图像中央位置。
频率域图像处理是把图像看成一种二维信号,对其进行基于二维傅里叶变化的信号增强;空间域图像增强的方法是直接对图像中的像素进行处理的过程。
实验名称 图像去噪 实验类型 验证型 实验时间 2015/6/9 实验地点 基础实验楼北 501 实验目的:
1.熟悉图像高斯噪声的特点; 2.掌握利用中值滤波器去除图像噪声的方法。
仪器、设备名称:
PC 微机一台、MATLAB 软件、GIF 格式图片一张。
实验要求及注意事项:
在选择图片时应当选择 TTF 格式或者 GIF 格式的图片,若不是这种格式则应该在画图工具中改为上述格式,因为其他格式都打不开。
实验内容、操作步骤:
实验内容:
编写代码实现中值滤波算法,并观察增强效果。
操作步骤:
1.打开 Matlab 编程环境。
2.利用’imread’ 函数读入包含噪声的原始图像数据。
3.利用’imshow’ 显示所读入的图像数据。
4.编写代码实现中值滤波算法,并对原始噪声图像进行滤波处理。
5.利用’imshow’ 显示处理结果图像数据。
6.利用’imwrite’函数保存图像处理结果数据。
实验结果分析(含数据、图表整理):
程序源代码:
I1=imread(“D:tfYUAN.jpg”);
I3=rgb2gray(I1);I2=imnoise(I3,“salt & pepper”,0.02);subplot(1,2,1);
imshow(I2);
title(“jia zao yin”);
L=medfilt2(I2);
subplot(1,2,2);
imshow(L);
title(“ 中值滤波所得图像”);处理结果:
去噪声后的图像对比
实验收获、心得及建议:
噪声是常见的退化因素之一,也是图像恢复中重点研究的主要内容。图像中的噪声可定义为图像中不希望有的部分,或图像中不需要的部分。
中值滤波算法处理速度快。均值滤波对一个像素,取其周围的像素均值作为当前像素的值;中值滤波对一个像素,取其周围的像素的中间值作为当前像素的值,不需要求出均值,因此中值滤波算法较快。先得到图像的频率空间,然后对得到的二维空间数据进行比较得到最大值和最小值,求这两个值的平均值得到。它比中值滤波算法慢。
本次实验中,通过相关软件自带函数对图像进行处理,实现图像噪点的处理。
实验名称 Matlab 在数字图像处理中的应用
实验类型 验证行 实验时间 2015/6/16 实验地点 基础实验楼北 501 室 实验目的:
1.熟悉图像的四种类型。
2.熟练掌握图像的读、写操作以及显示方法。
3.熟悉图像的类型转换以及格式转换。
仪器、设备名称:
计算机、MATLAB 软件、《图像处理实验指导(电子版)》、MATLAB 相关书籍 实验要求及注意事项:
1、注意在 Matlab 中不同图像对应的格式。在 Matlab 中采用 4 种不同的方式把图像数据矩阵中的元素值(又称像素值)解释为对应像素的颜色。
2、使用 Matlab 中自带的函数可以实现不同格式的图像的格式间的转换。要熟悉相应的函数的使用参数。
实验内容、过程记录:
1.利用 imread()函数分别读取四种类型的图像。
2.读取一幅 RGB 图片,并将它转换成其他几种图像类型。
3.读取一幅 TIF 格式的图像,将它转换成 JPG 文件格式,并尝试使用不同的压缩品质(使用 help imwrite 查询其‘quality’参数的用法)压缩文件,比较压缩前后文件的大小和图像质量。
4(选做).读取一幅索引图像,将图像显示出来。尝试修改 MAP 颜色矩阵的值,再将图像显示出来,对比观察图像颜色的变化。
实验分析结果(含数据、图表整理):
程序源代码:
function dutu
I=imread(“C: ABCDEFG-------TF tf tf.jpg”);
subplot(2,2,1),imshow(I);
B title(“RGB 原图 ”);
A=dither(I,gray);
subplot(2,2,2),imshow(A);
title(“ 索引图 ”);
imwrite(A ,“suoyin.tif”,“tif”);
B=rgb2gray(I);
subplot(2,2,3),imshow(B);
title(“ 灰度图 ”);
imwrite(B,“huidu.tif”,“tif”);
C=im2bw(I,0.4);
subplot(2,2,4),imshow(C);
title(“ 二值图 ”);
imwrite(C,“erzhi.tif”,“tif”);
end
function gaitu
clc
clear
I=imread(“C: ABCDEFG-------TF tff.tif”);
subplot(2,2,1),imshow(I);
title(“ TF1.tif”);
imwrite(I,“TF1.jpg”,“jpg”);
B=imread(“C: ABCDEFG-------TF TF1.jpg”);
subplot(2,2,2),imshow(B);
title(“TF1.jpg”);
imwrite(I,“TF1(25).jpg”,“quality”,25);
C=imread(“C: ABCDEFG-------TF TF1(25).jpg”);
subplo t(2,2,3),imshow(C);
title(“TF1(25).jpg”);
imwrite(I,“TF1(50).jpg”,“quality”,50);
D=imread(“C: ABCDEFG-------TF TF1(50).jpg”);
subplot(2,2,4),imshow(D);
title(“TF1(50).jpg”);
end
1、图像格式间的转换 结果见下图
图 1 图像格式转换结果图 使用 imread 函数读入一张 RGB 图像,然后使用“dither”、“rgb2gray”、“im2bw”函数实现 RGB 图像向索引图像、灰度图像、二值图像的转换。图像结果使用“imwrite”函数进行保存。
2.读取一幅 TIF 格式的图像,将它转换成 JPG 文件格式
图 2 tif 格式转换为 jpg 格式结果 使 用 imwrite 函 数 使 “tif” 格 式 转 换 为 “jpg” 格 式,然 后 使 用 “ imwrite(I,“TF1(25).jpg”,“quality”,25)”和“imwrite(I,“TF1(50).jpg”,“quality”,50)”使图像分别以 25 和 50 的质量进行压缩保存。
实验收获、心得及建议:
实验中主要注意的时使用函数时,要与函数要求的格式相对应。处理不同类型的图像,所使用的函数语句是不一样的,对于结果的显示也会有所不同。有时图像的改变在显示时改变的迹象可能不太明显,这时可以通过查看图像的格式,具体的属性参数直观的看到改动。
查看文件的格式时可以根据其文件的后缀名。或者查看 imread 函数读到的矩阵格式。比如 TIFF 格式的文件,其文件包含文件头、参数指针表与参数域、参数数据表和图像数据 4 部分,这样读入到 MATLAB 中的矩阵格式就会为格式。
篇2:图像处理 实验报告
直方图均衡化的研究
一、摘要
直方图均衡化就是把一已知灰度概率分布的图像经过一种变换,使之演变成一幅具有均匀灰度概率分布的新图像。它是以累积分布函数变换法为基础的直方图修正法。分析和总结灰度直方图的均衡化算法并通过VC++实验验证该方法能有效达到图像增强的目的。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。
二、关键字
灰度统计
直方图
均衡化
三、实验原理
1、直方图的理论基础:
(1)直方图概念:灰度直方图表示图像中每种灰度出现的频率。(2)直方图的作用: 反映一幅图像的灰度分布特性
n(3)直方图的计算:
p(rk)k0rk1k0,1,2,,l1 n式中:nk为图像中出现rk级灰度的像素数,n是图像像素总数,而nk/n即为频数。
2、设计目的: 产生一幅灰度级分布具有均匀概率密度的图像,扩展像素取值的动态范围,达到了图象增强的目的。
3、直方图均衡化的效果 :
1)变换后直方图趋向平坦,灰级减少,灰度合并。
2)原始象含有象素数多的几个灰级间隔被拉大了,压缩的只是象素数少的几个灰度级,实际视觉能够接收的信息量大大地增强了,增加了图象的反差。同时,也增加了图象的可视粒度。
4、离散情况下的直方图均衡化的算法:
A、列出原始图像的灰度级 fj,j0,1,,L1
B、统计各灰度级的像素数目 nj,j0,1,,L1
C、计算原始图像直方图各灰度级的频数 Pf(fj)nj/n,j0,1,,L1
kD、计算累积分布函数 C(f)j0Pf(fj),j0,1,,k,L1
F、应用以下公式计算映射后的输出图像的灰度级,P为输出图像灰度级的个数,其中INT为取整符号:
giINT[(gmaxgmin)C(f)gmin0.5] G、用的映射关系修改原始图像的灰度级,从而获得直方图近似为均匀分布的输出图像。
四、实验内容及源程序
1、灰度分布密度的统计 程序代码如下:
/*********************************************** *函数名称:ZhiFangTu(float *tongji)*函数类型:void *变量说明:tongji,灰度分布密度统计 *功能:对图像进行灰度直方图统计
***********************************************/ void CAAAView::OnZhifangtu(float *tongji){ // TODO: Add your command handler code here
int huidu[256];//灰度计数
CAAADoc* pDoc = GetDocument();
LPSTR lpDIB;LPSTR
lpDIBBits;
lpDIB =(LPSTR)::GlobalLock((HGLOBAL)pDoc->GetHDIB());
lpDIBBits = ::FindDIBBits(lpDIB);//原图数据区指针
int iH,iW;memset(huidu,0,sizeof(huidu));//变量初始化
iH = ::DIBHeight(lpDIB);//宽
iW = ::DIBWidth(lpDIB);//长
LPBYTE temp1=new BYTE[iH*iW];//新图像缓冲区
memcpy(temp1,lpDIBBits,iH*iW);//复制原图像到缓冲区
for(int i=0;i { for(int j=0;j { unsigned char temp; temp=temp1[iW*i+j];//灰度统计计数 huidu[temp]++;} } for(i=0;i<256;i++)//统计灰度分布密度 tongji[i]=huidu[i]/(iH*iW*1.0f);} 2、直方图分布的均衡化 (1)统计直方图数组,用一个数组p记录pi;(2)i从1开始,令sisi1pi; (3)一个数组L记录新的s的索引值,即令Lisi*(2561); (4)依次循环每个像素,取原图的像素值作为数组L的下标值,取该下标值对应的数组值作为均衡化之后的像素值。程序代码如下: /*********************************************** *函数名称:zhifangtujunheng *函数类型:void *变量说明:无 *功能:对图像进行灰度分布均衡化处理 ***********************************************/ void CAAAView::OnZhifangtujunheng(){ // TODO: Add your command handler code here CAAADoc* pDoc = GetDocument(); LPSTR lpDIB;LPSTR lpDIBBits; lpDIB =(LPSTR)::GlobalLock((HGLOBAL)pDoc->GetHDIB()); lpDIBBits = ::FindDIBBits(lpDIB);//原图数据区指针 float Hdmd[256];//灰度密度 float temp[256];//中间变量 int a[256];long i,j;memset(temp,0,sizeof(temp));//初始化 OnZhifangtu(Hdmd);//获取图像的灰度密度分布 for(i=0;i<256;i++)//进行均衡化处理 { if(i==0) { temp[0]=Hdmd[0]; } else { temp[i]=temp[i-1]+Hdmd[i]; } a[i]=(int)(255.0f*temp[i]+0.5f);} long iH,iW; iH = ::DIBHeight(lpDIB);//宽 iW = ::DIBWidth(lpDIB);//长 for(i=0;i { for(j=0;j { unsigned char temp1;//将转换后的灰度分布写入dib图像 temp1=*(lpDIBBits+i*iW+j); *(lpDIBBits+i*iW+j)=a[temp1];} } pDoc->UpdateAllViews(NULL);::GlobalUnlock((HGLOBAL)pDoc->GetHDIB());EndWaitCursor();} 五、实验结果的分析与比较 a原图如下所示: b均衡后的结果如下: 结论:图像直方图趋于平坦化,且灰度间隔被拉大,从而有利于图像的分析和识别。对于较为暗淡的图像,采用直方图均衡化能够增强其整体对比度,获的较为理想的观察效果。 六、参考文献 因此,迫切需要一种既包含有代表性的基础内容, 又能使学生课后实践的实验系统,从而培养具有创新精神和实践能力的高素质人才。 1 基于虚拟实验室的综合实验体系 “医学图像处理”内容多,涉及面广,为了让学生学好基础知识并掌握基本技能,应配合一个好的实验教学体系,即课堂基础实验+课外设计性实验。具体如下:实验课上利用实验平台进行基础实验,用于演示图像处理的原理及效果,强调基本概念;增加课外设计实验,给定例程和少量源代码,引导学生利用实验平台编制同类程序,增强编程能力,培养创新精神。以上两个环节逐层深入、相辅相成,形成了比较科学的实验教学体系。 针对这种需求,笔者使用Asp.net+Matlab开发了一个能满足上述要求的虚拟实验室。 2 虚拟实验室 2.1 虚拟实验室原理 要实现基于matlab的虚拟实验室,首先必须在网络服务器上安装matlab并选择matlab web server选项。基于matlab web server的虚拟实验室原理图如图1所示[5,6]。 首先,用户通过HTTP后台服务程序调用一个"原始"的HTML文档,当客户端将网页中的参数编辑完成后,再发送数据给后台;HTTP后台服务程序通过通用网关接口CGI(Common Gateway Interface)调用Matweb服务代理,而Matweb通过内部协议与MatLab server相连;随后,MatLab server调用相应的M文件到MATLAB进行计算;最后,当相应的程序执行完以后,MatLab server首先将结果以文本或html的形式传送到Matweb服务代理,Matweb再通过HTTP后台程序将结果输出到客户端[5,6]。 2.2 虚拟实验室结构设置 根据医学图像处理课程教学的需要,本虚拟实验平台将虚拟实验室分为图像增强、变换、压缩、分析等模块,另外提供一个Matlab编程练习平台。虚拟实验室的逻辑结构见图2所示。 2.3 虚拟平台的使用 以上各种图像处理实验的过程是:用户先选择具体实验章节,再根据相应的页面选择或填写各种参数,最后将数据提交至服务器并得到相应的处理结果和处理实验所需的MATLAB程序代码。但有时用户需要以自己的方法来进行一些实验,比如用户自己写入MATLAB代码进行运算,练习MATLAB编程等。因此,提供一个简单MATLAB代码编写环境就显得非常必要。该虚拟实验系统提供了一个MATLAB简单编程页面,用户在客户端页面中写入代码,代码提交至服务器后由相应的程序执行生成一个M文件,然后由专门的M文件对其进行调用并执行,最后将得到的处理结果返回客户端页面。 3 结论 该教学平台具有较好的开放性,能够同时满足课堂上算法演示和课后学生实践的要求。通过一系列实践,证明该平台具有较好的教学效果,平台本身也在实践中不断地丰富。这一指导思想也可以推广到其他实践性比较强的课程教学之中。 不过matlab web server存在的一些缺点限制了该图像处理虚拟实验室功能的进一步发挥应用,例如,图像在有限带宽网络上的传输等问题,这些都需要在后续工作中加以改进提高。 参考文献 [1]郭圣文,吴效明,林毅.《医学图像处理》多媒体课件的设计与实现[J].中国医学教育技术,2007(2):148-150. [2]盛利元,李宏言,孙克辉.“数字图像处理”实验教学探索与实验软件研制[J].电气电子教学学报,2005(3):75-77. [3]黄颖.“数字图像处理”开放式教学平台的实现[J].电气电子教学学报,2006(4):95-97. [4]曾庆伟,孙文红,李桥,等.基于CVI的医学图像处理系统的实现[J].实验室研究与探索,2007(2):57-59. [5]徐保华,程博.基于MWS的网上图像处理实验室的开发[J].黑龙江科技学院学报,2004(6):357-359. 关键词:等离子体种子处理;发展概况;试验;结果 中图分类号:S31文献标识码:A文章编号:1674-0432(2011)-03-0102-1 1 等离子体种子处理技术发展概况 等离子体种子处理技术是借鉴航天育种中宇宙等离子体射线对种子影响的物理原理而得名。使用该技术可激发种子的潜能、提高种子的健壮度,种子的发芽势、发芽率明显提高,可使作物增产10-30%。为了加快同江市现代农业发展步伐,大力推进先进实用技术在农业生产中的应用,同江市乐业农机分站于2010年2月份引进了一台大连博事等离子体有限公司生产的等离子种子处理机,在同江市首次试验使用。 2 等离子体种子处理技术的优点 作为一项新技术,等离子体种子处理技术在很多方面能够有效促进农作物的生长发育,从而提高其经济效益。 能够增强种子的发芽势和出芽率。特别对芽势弱、发芽率低的作物品种,陈种子以及对发芽率要求高的作物具有明显的增强作用;能够促进种子在发芽后出苗整齐,苗期提早;能够提高种子在萌发期、生长期的生命力,增强植株的耐旱、抗低温、抵御自然灾害的能力,处理后种子一般不粉种、不缓苗,抗灾性较强;能够有效促进植株的生长发育。实践证明,处理后作物根系繁育增多,叶片肥厚、叶色浓绿,苗高、茎粗、长势均有增加。处理后水稻的根系发达,分蘖提前且数量增加。处理后大豆根瘤菌的活性增加,植株生长发育加快;通过处理后作物抵御病虫害的能力明显增强;可促进作物提前成熟、提前上市,增加经济效益。处理后作物的果实成熟期提前3d以上,商品价值有所增加;能够改善果实的品质,提高产品的商品价值。实践证明,处理后的水稻成熟度好,加工成大米后品质增加。瓜果果实外形美观度增加,香瓜含糖量增加,口感好,进技校效益有所增加;等离子体技术对农作物具有明顯的增产增收作用。 等离子体机种子处理技术既是一项科技含量高、增产等作用明显的高新技术,又是一项容易推广普及的实用技术,对农业增产增收的作用相当明显,特别是投入产出比高于当前推广应用的农业技术,得到了广大农业工作者的认可,深受广大农民的青睐,市场前景是较为广阔。 3 试验基本情况 3.1 种子处理 选择具有代表性的试验地块,大豆种植集中地,三村镇农民王洪林家承包地,地块肥力中等,连续近10年重迎茬种植大豆。2010年5月18日种子经真空处理机连续处理两遍。 3.2 播种要求 播种采用大型农机旋耕整地,小四轮施肥播种镇压一次完成的方法进行。播种日期在5月30日。 3.3 试验方法 实验分两组进行:第一组采用真空种子处理机处理的种子,第二组对照为采用大连瑞泽35%多福克大豆种衣剂拌种,药种比例为1:70; 3.4 化肥用量 公顷施肥量350kg,氮磷钾比例为1:2:1.5,另加40kg含量3%的甲拌磷颗粒剂,两个地块同等量施肥。 4 田间管理整 个大豆生长期中耕3遍,每公顷叶面喷施1次广西北海喷施宝公司生产的瓶装“农都乐”250毫升两瓶。除草剂采用大豆出苗后叶面药剂除草,药剂为:精喹禾灵+氟磺胺草醚+广灭灵,分2次喷施,全部消灭田间杂草,未进行人工除草。 5 试验成果 5.1 产量和效益情况进行全程观测统计 5.2 苗期长势 6月份下旬,对试验地实地检查发现,采用等离子真空处理的大豆幼苗比对照明显发苗快,根须长叶色嫩绿,叶片大。7月15日大豆苗长势旺盛,豆苗已达1尺多高,试验大豆比对照大豆株高高10公分左右,两种对照差距明显。 5.3 收获情况 大豆长势好,秸秆粗壮、豆荚长粒多。收获时间在9月29日,试验地块和对照田同时采用联合收割机进行机械收获。 6 效益分析 6.1 增产增收 使用等离子体技术处理地块平均公顷增加产量190kg(增产8%),按同江市粮食基础收购价格政策每公斤3.8元计算,每公顷可以增加收入722.00元,按同江市种植大豆播种面积6万hm2计算,可增加产量近1140万kg左右,增加收入4332万元。 6.2 节约成本 实施等离子体处理种子不在使用种衣剂拌种,每公顷节约成本30.00元,全市6万hm2大豆可节约投入180万元。 6.3 使用安全 种衣剂含有毒物质,保管或操作不当会造成人员和动物中毒。等离子体种子处理技术不仅可以使玉米、大豆、水稻三大主栽作物增加产量,同时在蔬菜、瓜果方面试验效果也非常明显。从实验结果上看,此项技术的特点:一是作物具有明显的生长优势,表现为作物根系发达、苗齐苗壮;二是耐旱、耐低温、抗病虫害能力强;三是具有早熟和增产趋势,推广前景广阔。 学院 理学院 班级 地信131 学号 姓名 编写日期:1 2015.5 ▶▶作业a 1.LS8_C_20140613_022505_000000_118039_GEOTIFF_L4 2.L5118_39_19860531 ProductDescription用记事本打开,读取头文件,并填写相关信息与相应位置即可 3.L5118-39-19960103 4.L7118039_20050815 直接打开以_mtl为后缀的文件,该文件中包含了遥感影像的所有波段 5.LM*** 直接打开波段,然后波段合成即可 6.s5kj297_289_10m 7.WORLDVIEW-052606622010_01 ▶▶作业b 在ENVI中将landsat的4景影像和SPOT-5的1景的影像打开,并联动连接查看同一区域 link displays是根据象元位置来连接的,geographic link是通过地理坐标位置来连接的。 由上图可知,将遥感影像联动时亦可实现不同影像同一区域的快速检索,但是我们也可以看到,由于受到各方面因素的影像并不能特别精确的指在同一地方。 ▶▶作业c 1.WORLDVIEW-2影像保存为jpg和TIF格式的4-3-2波段合成的假彩色图像。可用同样的方法将SPOT-5影像保存为jpg和tif格式的4-3-2波段合成的假彩色图像 2.为landsat的5景影像附上波段的波长,并根据波长用landsat 5的7-4-3波段,保存为jpg和tif格式影像 为波长复制后,导入影像文件各波段显示差异前后对比 转换为JPG格式后可以用看图软件直接打开 ▶▶作业d 需要对影像进行裁剪,裁剪的基本步骤如下: 1.L5118_39_19860531裁剪前后对比 2.L5118-39-19960103裁剪前后对比 3.L7118039_20050815裁剪前后对比 4.LS8_C_20140613_022505_000000_118039_GEOTIFF_L4裁剪前后对比 ▶▶ 作业e 将剪裁影像,重采样成10m,重采样的操作主要如下 1.L5118_39_19860531重采样前后对比 2.L5118-39-19960103重采样前后对比 3.L7118039_20050815重采样前后对比 数字图像处理,就是用数字计算机及其他有关数字技术,对图像进行处理,以达到预期的目的。随着计算机的发展,图像处理技术在许多领域得到了广泛应用,数字图像处理已成为电子信息、通信、计算机、自动化、信号处理等专业的重要课程。 数字图像处理课程设计是在完成数字图像处理的相关理论的学习后,进行的综合性训练课程,其目的主要包括: 1、使学生进一步巩固数字图像处理的基本概念、理论、分析方法和实现方法; 2、增强学生应用VC++编写数字图像处理的应用程序及分析、解决实际问题的能力; 3、尝试将所学的内容解决实际工程问题,培养学生的工程实践能力,提高工科学生的就业能力。 三.设计内容: 1.打开图像: 主要代码: static char szFilter[]=“BMP文件(*.bmp)|*.bmp||”;//定义过滤文件的类型 象 CString filename; int ret=dlg.DoModal();//运行打开文件对方框 if(ret==IDOK) { filename=dlg.GetFileName(); //获取所选择图像的路径 m_dib.LoadFromFile(filename); //加载图像 if(!m_dib.m_bLoaded) //判断是否加载图像成功 { AfxMessageBox(“图像打不开”); } return; CFileDialog dlg(TRUE,“bmp”,NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);//定义文件对话框对 效果图: 2.水平镜像:把图像的第一列和最后一列调转,第二列和倒数第二列换过来,以此类推下去,直到第nw/2为止。代码: int temp,i,j; for(j=0;j for(i=0;i { temp=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=m_dib.m_pdata[nw-i-1+j*nw]; m_dib.m_pdata[nw-i-1+j*nw]=temp; } 效果图: 3.素描风格:先把灰度值与右下的作对比,如果差值大于一个值则说明这是轮廓,先把非轮廓的位置像素置为黑色,最后对所有像素进行底片化处理 代码: int temp,i,j; for(j=0;j for(i=0;i { temp=m_dib.m_pdata[j*nw+i]-m_dib.m_pdata[(j+1)*nw+i+1]; } if(temp<10)m_dib.m_pdata[j*nw+i]=0; //黑色为0 for(j=0;j for(i=0;i 效 { int gray=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=255-gray; } 果 图: 4图像雾化:在图像中引入一定的随机值,打乱图像中的像素值 代码: int i,j,k,dat; //i表示列,j表行 byte *ptemp=(byte *)new byte[nw*nh]; memset(ptemp,0,nw*nh); for(j=0;j for(i=0;i { k=rand()%8;//取任意的随机值 dat=j*nw+i+k;if(dat>=nw*nh)dat=nw*nh-1;ptemp[j*nw+i]=m_dib.m_pdata[dat]; } memcpy(m_dib.m_pdata,ptemp,nw*nh);效果图: 5.浮雕处理:通过勾画图象轮廓和降低周围像素色值,从而生成具有凹凸感的浮雕效果。其方法是生成一缓冲区,计算当前像素的左上角与右下角的像素值之差,再加上一个补值。将其存储到缓冲区。再将缓冲区的数据逐点替换到图像中并显示出来。代码: int w=3,i,j; //w为模板宽度 BYTE *p=new BYTE[nw*nh]; memcpy(p,m_dib.m_pdata,nw*nh); for(j=w/2;j for(i= w/2;i { p[j*nw+i]=m_dib.m_pdata[(j-1)*nw+i-1]*(1)+m_dib.m_pdata[(j+1)*nw+i+1]*(-1)+120; } memcpy(m_dib.m_pdata,p,nw*nh); delete []p;效果图: 6.直方图均衡化 代码: int n[256]={0},g[256]={0};//定义频数数组n,均衡化每个像素的灰度级的数组g double f[256],t[256];//定义频率数组f,累加的频率数组t int g_max=0,g_mim=255; int i,j,k,z; for(j=0;j //统计灰度级的频数n for(i=0;i z=m_dib.m_pdata[j*nw+i]; n[z]++; } for(k=0;k<=255;k++) //统计每个灰度级出现的频率 f[k]=n[k]/(nw*nh*1.0); //累计灰度级的频率 t[0]=f[0];for(k=1;k<=255;k++) t[k]=t[k-1]+f[k]; for(j=0;j for(i=0;i g_max=w>g_max?w:g_max;//得到最大值 g_mim=w } for(k=0;k<=255;k++) //利用公式求每个像素均衡化后的灰度级 g[k]=(int)((g_max-g_mim)*t[k]+g_mim+0.5); for(j=0;j //逐个替换 for(i=0;i k=m_dib.m_pdata[j*nw+i]; m_dib.m_pdata[j*nw+i]=g[k]; } for(j=0;j //计算均衡化的直方图 { //绘制原图像的直方图 for(i=0;i { BYTE temp=m_dib.m_pdata[j*nw+i]; m_hist[temp]++;} m_bHist=true; CString str;int nh=m_dib.GetDIBHeight();int i;// 画坐标轴 // 绘制坐标轴 pDC->MoveTo(410,nh+20);//(410,nh+20)是直方图的左上角坐标 // 垂直轴 pDC->LineTo(410,nh+200);//(410,nh+200)是直方图的左下角坐标 // 水平轴 pDC->LineTo(710,nh+200);//(710,nh+200)是直方图的右下角坐标 // 写X轴刻度值 str.Format(“0”);pDC->TextOut(410, nh+200+10, str);str.Format(“50”);pDC->TextOut(460, nh+200+10, str);str.Format(“100”);pDC->TextOut(510, nh+200+10, str);str.Format(“150”);pDC->TextOut(560, nh+200+10, str);str.Format(“200”);pDC->TextOut(610, nh+200+10, str);str.Format(“255”);pDC->TextOut(665, nh+200+10, str);// 绘制X轴刻度 for(i = 0;i < 256;i += 25){ if((i & 1)== 0){ } // 10的倍数 pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2); } else { } // 10的倍数 pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);} // 绘制X轴箭头 pDC->MoveTo(705,nh+200-5);pDC->LineTo(710,nh+200);pDC->LineTo(705,nh+200+5);// 绘制y轴箭头 pDC->MoveTo(410,nh+20);pDC->LineTo(405,nh+20+5);pDC->MoveTo(410,nh+20);pDC->LineTo(415,nh+20+5);int max=0;for(i=0;i<256;i++)if(m_yuan[i]>max){ } max=m_yuan[i]; for(i=0;i<256;i++)pDC->MoveTo(410+i,nh+200);pDC->LineTo(410+i,nh+200-(m_yuan[i]*160/max));} if(m_bHist==true)//绘画新的直方图 { CString str;int nh=m_dib.GetDIBHeight();int i;// 画坐标轴 // 绘制坐标轴 pDC->MoveTo(10,nh+20);//(10,nh+20)是直方图的左上角坐标 // 垂直轴 pDC->LineTo(10,nh+200);//(10,nh+200)是直方图的左下角坐标 // 水平轴 pDC->LineTo(310,nh+200);//(310,nh+200)是直方图的右下角坐标 // 写X轴刻度值 str.Format(“0”); pDC->TextOut(10, nh+200+10, str);str.Format(“50”);pDC->TextOut(60, nh+200+10, str);str.Format(“100”);pDC->TextOut(110, nh+200+10, str);str.Format(“150”);pDC->TextOut(160, nh+200+10, str);str.Format(“200”);pDC->TextOut(210, nh+200+10, str);str.Format(“255”);pDC->TextOut(265, nh+200+10, str);// 绘制X轴刻度 for(i = 0;i < 256;i += 25){ if((i & 1)== 0){ // 10的倍数 } else { // 10的倍数 pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);pDC->MoveTo(i + 10, nh+200-2);pDC->LineTo(i + 10, nh+200+2);} } // 绘制X轴箭头 pDC->MoveTo(305,nh+200-5);pDC->LineTo(310,nh+200);pDC->LineTo(305,nh+200+5);// 绘制y轴箭头 pDC->MoveTo(10,nh+20);pDC->LineTo(5,nh+20+5);pDC->MoveTo(10,nh+20);pDC->LineTo(15,nh+20+5);int max=0;for(i=0;i<256;i++)if(m_hist[i]>max){ max=m_hist[i]; for(i=0;i<256;i++)pDC->MoveTo(10+i,nh+200);pDC->LineTo(10+i,nh+200-(m_hist[i]*160/max)); } } 效果图: 四.心得体会: 通过这次数字图像处理的课程设计,对图片有了更深一层的认识,理解了对图像处理的一些原理,在这个课程设计过程中,需要自己去查阅资料,找资料,还需要理解所找到的资料,遇到问题独立去思考,或者去请教同学,给了我一个很好的锻炼机会,做事情一定要坚持,最后一定会有收获的。 五.参考文献: 《数字图像处理》 ——电子工业出版社 【图像处理 实验报告】相关文章: 数字图像处理实验报告03-05 dsp图像处理实验报告06-05 图形图像处理实验报告05-08 图像变换实验报告07-17 图像灰度变换实验报告03-09 遥感图像增强实验报告04-24 数字图像处理实验07-17 数字图像处理实验全08-27 数字图像处理实验程序03-05 数字图像处理实验代码03-05篇3:图像处理 实验报告
篇4:等离子体种子处理技术实验报告
篇5:遥感数字图像处理实验报告
篇6:图像处理 实验报告