计算机摄影学大作业 4页

  • 467.30 KB
  • 2022-08-13 发布

计算机摄影学大作业

  • 4页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
计算机摄影大作业1.大作业实现的主要功能是用OPENCV将一张照片变成灰色(也就是黑白),还有把边缘检测出来,分别用三张照片显示原图,黑白图和边缘图。2.代码如下:#include"cv.h"#include"cxcore.h"#include"highgui.h"intmain(intargc,char**argv){//声明IplImage指针IplImage*gray=NULL;IplImage*canny=NULL;IplImage*color=NULL;char*filename;filename="深沉沉的陈晨升.jpg";gray=cvLoadImage(filename);color=cvLoadImage(filename);//载入图像,强制转化为Grayif((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);return0;}return-1;\n}实现的结果:原图:黑白图:Canny(边缘检测图):\n1.代码分析: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");关闭窗口\ncvReleaseImage(&gray);cvReleaseImage(&color);cvReleaseImage(&canny);释放图片1.遇到的困难和错误:首先是OPENCV的配置,虽然网上有一模一样的教程,但是还是要配置两三次才能成功。其次:完全没头绪OPENCV的代码的编写,只能在网上找资料,最后实现的功能也不是很复杂。2.心得体会:虽然没有很深入的掌握到OPENCV的运用。或者说还是不能靠自己打出一串完整的代码,不过能学到点图像处理还是可以的。技多不压身。

相关文档