- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)