扬大邓多媒体信息处理设计探析.doc

多媒体信息处理 课 程 设 计 报 告 班级: 学号: 姓名: 报告完成基本情况 本次课程设计完成了必做课题1到7,课题8也完成但是从网上所得未完全明白原理,课题9未完成,课题10完成。 二.主要源程序清单与注释 1.在程序中建立菜单,点击出现自己的个人信息(姓名学号等)。 void CPicture228View::OnAfxMessageBox() { // TODO: Add your command handler code here AfxMessageBox(学号n姓名:张山); //使用AfxMessageBox()函数显示个人信息 return; } 2.反色变换 BOOL DIB::fanse() { int i,j;//定义的变量 if(bih.biBitCount==24)//判断是不是24位彩色图 { for(i=0;iGetDIBHeight();i++) for(j=0;jGetDIBWidth();j++) { int k; for(k=0;k!=3;k++) Cnumber(i,j,k)=255-Cnumber(i,j,k);//将各个颜色分量取反后赋回该点 } } else if(bih.biBitCount==8)//判断是不是8位灰度图 { for(i=0;iGetDIBHeight();i++) for(j=0;jGetDIBWidth();j++) { Hdu(i,j)=255-Hdu(i,j);//将各个颜色分量取反后赋回该点 } } else { AfxMessageBox(原图既不是24位真彩图也不是8位灰度图);//若两个都不是则弹出该窗 return false; } return true; } 3.调节图像亮度 BOOL DIB::zengdaliangdu()//增大亮度 { int i,j,k; double t=0; if(bih.biBitCount==24)//24位真彩图 for(i=0;iGetDIBHeight();i++) { for(j=0;jGetDIBWidth();j++) for(k=0;k3;k++) { t=1.1*Cnumber(i,j,k);//颜色分量增加10% if(t255) Cnumber(i,j,k)=(unsigned char)t; //若增加后的值小于255,则赋回给该点 else Cnumber(i,j,k)=255;//若大于255,则全赋为255 } } else//8位灰度图 for(i=0;iGetDIBHeight();i++) { for(j=0;jGetDIBWidth();j++) { t=1.1*Hdu(i,j);//颜色分量增加10% if(t255) Hdu(i,j)=(unsigned char)t;//若增加后的值小于255,则赋回给该点 else Hdu(i,j)=255;//若大于255,则全赋为255 } } return true; } BOOL DIB::jianxiaoliangdu()//减小亮度 { int i,j,k; double t=0; if(bih.biBitCount==24)//24位真彩图 for(i=0;iGetDIBHeight();i++) { for(j=0;jGetDIBWidth();j++) for(k=0;k3;k++) { t=0.9*Cnumber(i,j,k);//颜色分量减小10% Cnumber(i,j,k)=(unsigned char)t; //将改变后的值赋回该点 } } else//8位灰度图 for(i=0;iGetDIBHeight();i++) { for(j=0;jGetDIBWidth();j++) { t=0.9*Hdu(i,j);//颜色分量减小10% Hdu(i,j)=(unsigned c

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档