(1) 请自己在互联网上任意找一张图片用做测试,命名为“学号后四位_Original”。放在
C++工程文件夹下(与 CPP 文件放在同一文件夹)。用 C++调用 OpenCV 函数对该
幅图片进行读入和显示操作。
(2) 在(1)基础上,添加修改代码,将原图转换成灰度图像,并保存,命名为“学号后四
位_Gray”。
(3) 请利用 OpenCV 中 Sobel,Laplace,Canny 算法相应函数对(2)中图像进行处理,并
保 存 , 命 名 为 “ 学 号 后 四 位 _Sobel” 或 “ 学 号 后 四 位 _Laplace” 或 “ 学 号 后 四 位
_Canny”。。
(4) 选做:利用 OpenCV 自由实现一个图像处理功能,要求至少用到 4 个不同的对图
像操作的函数(选做请在作业提交时文件名后面加:_选做)。
//使用的软件Opencv2.1和VC2008
//(1)~(3)小问程序.
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
int main( int argc,char** argv )
{
IplImage* pImg=NULL; //声明IplImage指针
IplImage* GrayImage=NULL; //声明IplImage指针
//载入图像,(1)
const char * ImageInput = "D:\Program Files\9819_Original.jpg";
pImg = cvLoadImage( ImageInput, 1);
if (pImg == NULL)
{ fprintf(stderr,"Can not load image %s ",ImageInput);
return -1;
}
cvNamedWindow( "image", 1 );//创建窗口
cvShowImage( "image", pImg );//显示图像
cvWaitKey(0); //等待按键
cvDestroyWindow( "image" );
//将_Original.jpg原图转换成灰度图像_Gray.jpg
GrayImage = cvCreateImage(cvSize(pImg->width,pImg->height),IPL_DEPTH_8U,1);
//GrayImage = cvCreateImage(cvGetSize(pImg),IPL_DEPTH_8U,1);
cvCvtColor(pImg,GrayImage,CV_RGB2GRAY);
if (GrayImage != NULL)
{
cvNamedWindow( "imageGray", 1 );//创建窗口
cvShowImage( "imageGray",GrayImage);//显示图像