自动点焊技术之数字图像处理matlab实验报告_半色调打印技术

上传人:世*** 文档编号:173768726 上传时间:2021-03-13 格式:DOC 页数:10 大小:3.35MB
返回 下载 相关 举报
自动点焊技术之数字图像处理matlab实验报告_半色调打印技术_第1页
第1页 / 共10页
自动点焊技术之数字图像处理matlab实验报告_半色调打印技术_第2页
第2页 / 共10页
自动点焊技术之数字图像处理matlab实验报告_半色调打印技术_第3页
第3页 / 共10页
自动点焊技术之数字图像处理matlab实验报告_半色调打印技术_第4页
第4页 / 共10页
自动点焊技术之数字图像处理matlab实验报告_半色调打印技术_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《自动点焊技术之数字图像处理matlab实验报告_半色调打印技术》由会员分享,可在线阅读,更多相关《自动点焊技术之数字图像处理matlab实验报告_半色调打印技术(10页珍藏版)》请在金锄头文库上搜索。

1、自动点焊技术之数字图像处理实验报告实验名称:Image Printing Program Based on Halftoning实验编号:Proj02-01 作 者:珠海博泰科技:莫工实验日期:2014年11月30日摘 要:本实验采用半色调技术对图像进行打印和显示,先编程产生一个256*256大小渐变的测试图像,然后再编写一个半色调技术的打印程序,再用打印程序分别打印测试图像以及书本中给的3个不同图像细节的图片,并比较变换前后的图像效果,验证了书本中图2.23偏爱曲线所揭示的结论,即对具有大量细节的图像,可能只需要少量的灰度级就可以表示。1、 技术论述将图像中各像素点变换成3*3的点阵,256

2、个灰度级别量化为10个灰度级,每个灰度级用3*3的矩阵点来表示,用黑点全部填充的9个点近似表示灰度级为0,全部填白色表示灰度级为9,其他的模式表示这二者之间的灰度级。 对应关系可表示为:dot(i,j)/10=gray(i,j)/256.其中gray(i,j)为原像素点的灰度级,dot(i,j)为变换后的灰度级 。10灰度级的点阵如下图所示:2、 实验结果及讨论实验中所使用的原图片以及经过半色调技术转换后的图片如下: 整体实验产生的图片如下实验结果讨论: 实验结果符合书本图2.23的结论,图2-3图像的细节较小,图2-5图像的细节中等,图2-7的图像细节较多, 经过半色调技术变换后,细节较多的

3、图2-7使人感受到图像质量变化不大,这一实验表明,当图像中的细节增加时,等偏爱曲线会变得更加垂直,所以,对于有大量细节的图像,可能只需要较少的灰度级就行。附录:1、 主M程序:charpter2.m 该程序调用半色调打印函数convert(),完成相关图像的打印 源码如下:function exe2()%功能: 第2章实验题目%输入参数:无%输出参数:无% wH=2; wL=4; %人为产生一个256*256大小的渐变测试图像 image256=zeros(256,256) for(i=1:256) image256(:,i)=(i-1)*ones(256,1); end image256=u

4、int8(image256); imwrite(image256,picture256.bmp); % image256=creat_picture(); %image256=imread(picture256.jpg); subplot(wH,wL,1); imshow(image256); title(图2-1:256*256原图像); %对程序生成的256*256大小的渐变测试图像实行半色调变换 y=convert(image256); subplot(wH,wL,2); imshow(y); imwrite(y,p2-2.jpg); title(图2-2:半调色变换后256*256图像

5、); %对课本图2.2(a)到(c)进行半调色打印对比 img222a=imread(d:data_sFig2.22(a).jpg); subplot(wH,wL,3); imshow(img222a); title(图2-3:图像2.22a原图); y=convert(img222a); subplot(wH,wL,4); imshow(y); imwrite(y,p2-4.jpg); title(图2-4:图像2.22a原图半色调变换图); img222b=imread(Fig2.22(b).jpg); subplot(wH,wL,5); imshow(img222b); title(图2

6、-5:图像2.22b原图); y=convert(img222b); subplot(wH,wL,6); imshow(y); imwrite(y,p2-6.jpg); title(图2-6:图像2.22b原图半色调变换图); img222c=imread(Fig2.22(c).jpg); subplot(wH,wL,7); imshow(img222c); title(图2-7:图像2.22c原图); y=convert(img222c); subplot(wH,wL,8); imshow(y); imwrite(y,p2-8.jpg); title(图2-8:图像2.22c原图半色调变换图

7、); 2、 半色调打印函数convert() function y = convert(x)r,c=size(x);%得到这个图像有多少行多少列%A4纸的21.6 * 27.9cm 换算成英寸为 8.5 * 10.98pixelsperinch=96;widthmaxpixels = 8.5*pixelsperinch;heighminpixels = 11*pixelsperinch;rscale=double(r)/widthmaxpixels;cscale = double(c)/heighminpixels;scale = rscale;if(scale1) downsampling_

8、ave(x,fix(scale);endgimg = fix(double(x)/25.6);%求这个点的灰度级为10个灰度级中的哪一个y=zeros(r*3,c*3);%先清掉灰度矩阵%得到一个10维的灰度级dotz = zeros(3,3,10);dotz(1:3,1:3,1:5) = zeros(3,3,5);dotz(1,2,2:5) = 255*ones(1,1,4);dotz(3,3,3:5) = 255*ones(1,1,3);dotz(1,1,4:5) = 255*ones(1,1,2);dotz(3,1,5) = 255;dotz(1:3,1:3,6:10) = 255*on

9、es(3,3,5);dotz(2,2,6:9) = zeros(1,1,4);dotz(2,1,6:8) = zeros(1,1,3);dotz(3,2,6:7) = zeros(1,1,2);dotz(2,3,6) = 0;%把图像中的每个像素点换成某个灰度级的3*3的矩阵for(i=1:r) for(j=1:c) level=gimg(i,j); y(i-1)*3+1:i*3,(j-1)*3+1:j*3)=dotz(1:3,1:3,level+1); endendy=uint8(y);%强制转为8位整数end 3、 实验中产生的单幅图片 图3-1 半调色变换后256*256图像 图3-2 Fig2.22(a) 半色调打印图像 图3-3 Fig2.22(b) 半色调打印图像 图3-4 Fig2.22(c) 半色调打印图像

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号