欢迎来到天天文库
浏览记录
ID:9178760
大小:189.11 KB
页数:27页
时间:2018-04-20
《面向对象程序设计课程设计报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《面向对象程序设计》课程设计报告学号:班级序号:姓名:指导老师:成绩:中国地质大学实习题目一【题目需求】给定一幅单波段影像imgData.txt(ASCII格式),实现对图像的处理和显示。已知条件:(1)clrTbl.txt文件是一个颜色查找表,大小是256X3,即可表示256中RGB的颜色。(2)ImgData.txt文件中是图像的数据,每个值代表一个像素的颜色索引号,通过索引号到颜色查找表(clrTbl.txt文件)中找到相应的RGB颜色值。(3)中值滤波:一种非线性平滑技术,它将每一像素点的灰度值设
2、置为该点某邻域窗口内(这里选择3X3)的所有像素点灰度值的中值。(4)屏幕上显示像素点的函数:SetPixel(HDCdrawDevice,longX,longY,COLORREFrgbVal);基本要求:(1)定义一个中值滤波器,并实现图像的中值滤波;(2)将中值滤波的结果输出到二进制文件resImg.rs中;拔高要求:(3)在屏幕上分别显示原始图像和中值滤波结果图像。【实现过程】(1)思想:首先构造结构体用来存储R/G/B,然后从文件中读取像素点的值利用颜色查找表打印出来,再利用中值滤波器对中间图像处
3、理,边缘图像选用中值滤波器和靠内的像素覆盖来观察效果。最后输出将中值滤波结果输出到二进制文件。(2)实现过程:从文件中读取各点的像素值从文件中读入颜色查找表将中值滤波后结果输入到二进制文件设置句柄利用颜色查找表打印图像制作中值滤波器使图像平滑,并在边缘进行处理【感想】该程序的重点即在把制作中值滤波器用旁边点的中值代替中间点,思路较为明确,因而不是很难。【附录】源程序清单://中值滤波.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include"DeviceContext.
4、h"#include#include#include#include#includeusingnamespacestd;structmyRGB{shortR;shortG;shortB;};int_tmain(intargc,_TCHAR*argv[]){inta,b;myRGBrgb[256];ints[2];HWNDmmm;//获得句柄HDChdc;mmm=GetConsoleWindow();hdc=Get
5、DC(mmm);ifstreammyfile;ifstreammyfileo;myfile.open("1-clrTbl.txt");myfile>>a>>b;for(intj=0;j>rgb[j].R>>rgb[j].G>>rgb[j].B;}myfileo.open("1-ImgData.txt");myfileo>>s[0]>>s[1];//cout<6、inti=0;i>my[i][j];//从文件中读取}}for(inti=0;i7、inti=0;i8、1;jj
6、inti=0;i>my[i][j];//从文件中读取}}for(inti=0;i
7、inti=0;i
8、1;jj
此文档下载收益归作者所有