转载自:http://blog.sina.com.cn/s/blog_4b1deb1b0100sepq.html
装好opencv2.2后,就可以试试编写一些简单的程序了。
网上转载
- ***********************************************************************
-
* OpenCV example -
* By Shiqi Yu 2006 -
***********************************************************************/ -
- #include
"cv.h" - #include
"highgui.h" -
- int
main( int argc, char** argv ) - {
-
IplImage* pImg; //声明IplImage指针 -
-
//载入图像 -
if( argc == 2 && -
(pImg = cvLoadImage( argv[1], 1)) != 0 ) -
{ -
cvNamedWindow( "Image", 1 );//创建窗口 -
cvShowImage( "Image", pImg );//显示图像 -
-
cvWaitKey(0); //等待按键 -
-
cvDestroyWindow( "Image" );//销毁窗口 -
cvReleaseImage( &pImg ); //释放图像 -
return 0; -
} -
-
return -1; - }
-
-
- #include
"cv.h" - #include
"highgui.h" -
- using
namespace cv; //下面的所有cv相关类型不用加上前缀了 -
- int
main(int argc, char* argv[]) - {
-
Mat img = imread("lena.jpg"); //声明Mat变量并调入lena小妞(老妞了现在?)的照片 -
-
if(!img.data) //判断图片调入是否成功 -
return -1; //调入图片失败则退出 -
-
namedWindow("loveLena", CV_WINDOW_AUTOSIZE); //创建窗口,并确定其为大小不可变类型窗口 -
-
imshow("loveLena", img); //显示图片。如果你不介意窗口大小可变,可以直接注释掉上一句。因为imshow可以直接创建窗口 -
-
waitKey(); //等待按键 -
-
return 0; - }
1.使用工具(或自己写个matlab或者C++的小程序)进行处理。将图像数据打包成图片格式。
2.使用mat格式。在opencv中有矩阵类型。可以将数据直接读入,然后处理矩阵。
3.对图像数据(data)进行处理。这是我常用的一种方法。
- int
CSAR_window::load(CString Filepath,u_char* buff) - {
-
cvReleaseImage(&Image); -
Image=cvCreateImage(cvSize(this->srcImage_width,srcImage_height),8,1); -
FILE *fp; -
fp=_tfopen( Filepath.GetString(),_T("r")); -
if(fp==NULL) -
{ -
return 0; -
} -
fread(Image->imageData,1,srcImage_width*srcImage_height,fp); -
fclose(fp); -
//Image->imageData = (char*)buff; -
//cvWaitKey(0);//等待按键 -
return 1; - }