用C解决第四题07510的3赵白杨 - 副本.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C解决第四题07510的3赵白杨 - 副本

中国地质大学(武汉) 数字图像处理实验报告 学 院: 班 级: 姓 名: 学 号: 指导老师: 实验目的 用C语言实现用直接灰度变换改变图像(求反,增强对比度,动态范围压缩,灰度切分) 实验过程 弄明白自己的任务之后,去尝试自己写出这个程序时,却毫无头绪。之后紧接着的考试,我慢慢忘了,我还有这个任务。快到5月1号的时候,我和徐明权商量 程序到手以后,还算是比较认真的研究了程序,一共4个程序,每个程序也只能明白其中的一些基本语句。更多的,还是看不懂,搞不明白干嘛的。我就把不懂的语句用百度搜索,字面意思倒能看明白,若是让我自己运用编写的话,又会是一筹莫展了。 不过,通过查阅,了解到了如果要用C语言实现用直接灰度变换改变图像(求反,增强对比度,动态范围压缩,灰度切分),需要使用Opencv中的IplImage结构 ,opencv是一个基于(开源)发行的跨平台计算机视觉库, 由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。 IplImage结构来源于Intel的另外一个函数库Intel Image Processing Library (IPL),该函数库主要是针对图像处理。 在IplImage结构中,有5个常用的函数 图像载入函数 函数cvLoadImage载入指定图像文件,并返回指向该文件的IplImage指针。函数支持bmp、jpg、 png、 tiff等格式的图像。其函数原型如下: IplImage* cvLoadImage( const char* filename, int iscolor); 其中,filename 是待载入图像的名称,包括图像的扩展名;iscolor是一个辅助参数项,可选正数、零和负数三种值,正数表示作为三通道图像载入,零表示该图像作为单通道图像,负数表示载入图像的通道数由图像文件自身决定。 2. 窗口定义函数 函数cvNamedWindow定义一个窗口,用于显示图像。其函数原型如下: int cvNamedWindow( const char* name, unsigned long flags ); 其中,name是窗口名,flags是窗口属性指标值,可以选择CV_WINDOW_AUTOSIZE和0两种值。CV_WINDOW_AUTOSIZE表示窗口尺寸与图像原始尺寸相同,0表示以固定的窗口尺寸显示图像。 3. 图像显示函数 函数cvShowImage是在指定的窗口中显示图像,其函数原型如下: void cvShowImage( const char* name, const CvArr* image ); 其中,name是窗口名称,image是图像类型指针,一般是IplImage指针。 4. 图像保存函数 函数cvSaveImage以指定的文件名保存IplImage类型的指针变量,其函数原型如下: int cvSaveImage( const char* filename, const CvArr* image ); 其中,filename是图像保存路径和名称,image是IplImage指针变量。 5. 图像销毁函数 函数cvReleaseImage销毁已定义的IplImage指针变量,释放占用内存空间。其函数原型如下: void cvReleaseImage( IplImage** image ); 其中,image为已定义的IplImage指针。 还有部分获取图片参数的部分: int origin; /*图像原点位置: 0表示顶-左结构,1表示底-左结构 */ int align; /* 图像行排列方式 (4 or 8),在 OpenCV 被忽略,使用 widthStep 代替 */ int width; /* 图像宽像素数 */ int height; /* 图像高像素数*/ 了解了这些函数,算是我唯一的收获了,因为还有好多语句没弄懂,所以整个程序也没能明白透彻。 参考资料 百度百科 附程序 实现动态范围压缩: #include cv.h #include highgu

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档