DSP图像取反设计.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
郑州轻工业学院 DSP课程设计 题目图像Reverse 实验 院 系:计算机与通信工程学院 班 级:电子信息科学与技术10-01 姓 名: 指导老师: 实验目的 了解取反的算法和用途,学习设计程序实现图像的取反运算。 了解改变图像的各种对比度方法,并对图像进行增强对比度处理。 实验设备 计算机一台,操作系统为 Windowsxp,安装 Code Composer Studio 3.1 软件。 程序流程图 实验内容 图像取反 将图像按像素按位进行求反,取得类似照相底片效果。求反处理的图像与原始图“黑白颠倒”,可以看清原始图中灰黑区域的情况。求反的图像一般用于数字图像的初步处理。 取反程序: #define IMAGEWIDTH 80 #define IMAGEHEIGHT 80 extern unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT]; extern unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT]; int mi,mj; unsigned int m_nWork; unsigned char *pImg,*pImg1; void Reverse(int nWidth,int nHeight) { pImg=dbImage; pImg1=dbTargetImage; for ( mj=0;mjnHeight;mj++ ) for ( mi=0;minWidth;mi++,pImg++,pImg1++ ) (*pImg1)=(~(*pImg))0x0ff; } 实验步骤: Project-Open,打开该目录中的工程文件Image.pjt。 选择菜单 View-Graph-Image,做如下设置(注意是设置两次而不是一次,即打开2个图像窗口,便于对比观察): Project-Rebuild ALL,编译链接。 File-Load Program:Histogram.out Debug-GO Main,如下图设置断点,这样方便观察不同图像的执行效果。 Debug-RUN(快捷键F5),全速运行。 实验结果: 增强对比度 增强对比度程序: void Reverse(int nWidth,int nHeight) { unsigned char x1=60,y1=50,x2=180,y2=250; double k1=(1.0)*y1/x1,k2=(1.0)*(y2-y1)/(x2-x1),k3=(1.0)*(255-y2)/(255-x2); pImg=dbImage; pImg1=dbTargetImage; for ( mj=0;mjnHeight;mj++ ) for ( mi=0;minWidth;mi++,pImg++,pImg1++ ) { if(*pImgx1) *pImg1=(unsigned char)(*pImg*k1); else if(*pImg=x1*pImgx2) *pImg1=(unsigned char)((*pImg-x1)*k2+y1); else *pImg1=(unsigned char)((*pImg-x2)*k3+y2); } } 实验结果: 实验主程序 主函数: #define IMAGEWIDTH 80 #define IMAGEHEIGHT 80 #define MODEGRAYBAR 0 #define MODEGRAY 1 #define MODEPHOTO1 2 #define MODEPHOTO2 3 #define MODEPHOTO3 4 #define MODEPHOTO4 5 void InitImage(unsigned int nMode,unsigned char *pImage,int nWidth,int nHeight); (在运行的过程的,可以从缓冲区读出所需要的数据) unsigned char dbImage[IMAGEWIDTH*IMAGEHEIGHT]; unsigned char dbTargetImage[IMAGEWIDTH*IMAGEHEIGHT]; /* 直方图统计实验程序 */ int main() { InitImage(MODEGRAYBAR,dbImage,IMAGEWI

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档