数字图像BMP实验报告.doc

上传人:wux****ua 文档编号:9044510 上传时间:2020-04-02 格式:DOC 页数:14 大小:2.46MB
返回 下载 相关 举报
数字图像BMP实验报告.doc_第1页
第1页 / 共14页
数字图像BMP实验报告.doc_第2页
第2页 / 共14页
数字图像BMP实验报告.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
数字图像处理实验1 BMP文件读写实验报告姓名:康文杰学号:14020019指导教师:毋立芳目录一、实验要求:2二、实验环境:2三、实验代码及结果:31、实验13实验代码:3原图像:4输出结果:52、实验25实验代码5原图像:7输出图像:73、实验38实验代码:8原图像:10输出图像:11四、实验总结:12一、实验要求:1、 打开1.BMP文件,输出图像中任意一个为5*5矩形区域对应的图像数据,并以文本文件的方式输出。进入图像处理系统,打开1.BMP,验证程序输出结果。2、 打开1.BMP文件,改变以下矩形区域对应的图像数据为0(或255) (height/3,width/3) (height*2/3,width*2/3)输出新的图像文件2.BMP。进入图像处理系统,打开2.BMP,检查修改结果是否正确。3、 打开1.BMP文件,将图像宽度和高度进行延拓,宽度变为width+20,图像高度变为height+15,延拓部分置0(或255)。并输出新的图像文件3.BMP,进入图像处理系统,打开3.BMP,检查结果是否正确。二、实验环境:VC6+三、实验代码及结果:1、实验1实验代码:#include#define rows 512/行#define cols 512/列typedef struct Punsigned char B,G,R;PIXEL;int main()int i,j;PIXEL nowProwscols;FILE *fp,*fout;fp=fopen(Lenna.bmp,rb);fout=fopen(1.txt,w);char filehead54;fread(filehead,1,54,fp);fread(nowP,3,rows*cols,fp);for(i=0;i5;i+)for(j=0;j5;j+)fprintf(fout,(%d,%d,%d),nowPij.R,nowPij.G,nowPij.B);fprintf(fout,n);fclose(fp);fclose(fout);return 0;原图像:输出结果:2、实验2实验代码#include #define rows 512#define cols 512typedef struct Punsigned char B,G,R;PIXEL;int main()int i,j;FILE *fp,*fout;char filehead54;PIXEL nowProwscols;fp=fopen(Lenna.bmp,rb);fout=fopen(2.bmp,wb);fread(filehead,1,54,fp);fread(nowP,3,rows*cols,fp);for(i=rows/3;irows*2/3;i+)for(j=0;jcols*2/3;j+)nowPij.R=0;nowPij.G=0;nowPij.B=0;fwrite(filehead,54,1,fout);fwrite(nowP,3,rows*cols,fout);fclose(fp);fclose(fout);return 0;原图像:输出图像:3、实验3实验代码:#include #include windows.h #define rows 512 #define cols 512 struct pixel unsigned char B,G, R; nowProwscols,newProws+15cols+20; int main() int i,j; FILE *fp,*fout; unsigned char old54,new54; pixel pp; fp=fopen(Lenna.bmp,rb); fout=fopen(3.bmp,wb); fread(&old,1,54,fp); for(i=0;i54;i+)newi=oldi; new18=new18+20; new22=new22+15; fwrite(&new1,1,54,fout); fread(&nowP,1,3*rows*cols,fp); for(i=0;irows;i+) for(j=0;jcols;j+) newPij.B=nowPij.B; newPij.G=nowPij.G; newPij.R=nowPij.R; for(i=rows;irows+15;i+) for(j=cols;jcols+20;j+) newPij.B=0; newPij.G=0; newPij.R=0; fclose(fp); fwrite(newP0,1,3*(rows+20)*(cols+15),fout); fclose(fout); return 0; 原图像:输出图像:四、实验总结:这次实验分为三个内容,前两个实验基本上是研究生学长带领我们一步一步地进行操作,编程和图像处理,每一步操作、每一行代码的意义和思想,助教都给我们讲的非常透彻,在进行前两个实验的时候基本上没有遇到什么问题。第三个实验研究生学长要求我们自己独立完成任务,我在尝试的一开始遇到了困难,编译出现许多错误。不过还算比较好的是在经过助教的些许提示之后我还是比较快的找到了有效的解决方法,最终在经过好几次尝试后我终于正确地处理了图像。 通过此次数字图像处理实验,我进一步熟悉了VC+的使用,同时了解了如何使用编程C语言来进行数字图像的简单处理。总体来说,此次实验让我对数字图像处理的方法有了更深刻的认识,这对我今后的数字图像处理方面有着不少的帮助,今后的实验一定会更难,但我有信心能把它们都完成好。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 工作总结


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!