- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机摄影学大作业
计算机摄影大作业大作业实现的主要功能是用OPENCV将一张照片变成灰色(也就是黑白),还有把边缘检测出来,分别用三张照片显示原图,黑白图和边缘图。代码如下:#include cv.h #include cxcore.h #include highgui.h int main( int argc, char** argv ) { //声明IplImage指针 IplImage* gray = NULL; IplImage* canny = NULL;IplImage* color = NULL; char *filename; filename=深沉沉的陈晨升.jpg; gray=cvLoadImage(filename);color = cvLoadImage(filename); //载入图像,强制转化为Gray if((gray = cvLoadImage(filename, 0)) != 0 ) { canny = cvCreateImage(cvGetSize(color), IPL_DEPTH_8U, 1);//canny边缘检测 cvCanny(color, canny, 50, 150, 3); cvNamedWindow(gray, 1); cvNamedWindow(canny, 1);cvNamedWindow(color, 1); //显示图像 cvShowImage( gray, gray ); cvShowImage(color, color);cvShowImage(canny, canny); cvWaitKey(0); //等待按键 //销毁窗口 cvDestroyWindow( gray ); cvDestroyWindow(color);cvDestroyWindow(canny); //释放图像 cvReleaseImage( gray );cvReleaseImage(color);cvReleaseImage(canny); return 0; } return -1; }实现的结果:原图:黑白图:Canny(边缘检测图):代码分析: IplImage* gray = NULL; IplImage* canny = NULL;IplImage* color = NULL; char *filename; filename=深沉沉的陈晨升.jpg; 定义三种图片,载入原图。cvLoadImage( filename, 0 ); 强制转化读取图像为灰度图canny = cvCreateImage(cvGetSize(color), IPL_DEPTH_8U, 1); cvCanny(color, canny, 50, 150, 3);边缘检测 cvNamedWindow(gray, 1); cvNamedWindow(canny, 1);cvNamedWindow(color, 1);命名三个显示图片的窗口。cvShowImage( gray, gray ); cvShowImage(color, color);cvShowImage(canny, canny);在三个窗口分别显示三张图片。cvWaitKey(0); 等待按键 运行成功后,按下任意按钮,即可执行下面的程序。cvDestroyWindow( gray ); cvDestroyWindow(color);cvDestroyWindow(canny);关闭窗口 cvReleaseImage( gray );cvReleaseImage(color);cvReleaseImage(canny);释放图片 遇到的困难和错误:首先是OPENCV的配置,虽然网上有一模一样的教程,但是还是要配置两三次才能成功。其次:完全没头绪OPENCV的代码的编写,只能在网上找资料,最后实现的功能也不是很复杂。心得体会:虽然没有很深入的掌握到OPENCV的运用。或者说还是不能靠自己打出一串完整的代码,不过能学到点图像处理还是可以的。技多不压身。
文档评论(0)