opencv笔记:图像大小变换
OpenCV笔记:图像大小变换
文章源地址:http://hi.baidu.com/gilbertjuly/blog/item/25e4cd3f08ee733471cf6c82.html
程序中对函数不明白推荐参考这个chm文档,www.opencv.org.cn/index.php/Download,带有搜索功能,相当于mfc的msdn。
================================ 第二个例子是图像的大小变换: #include <cv.h> #include <highgui.h> #include <math.h> int main(int argc, char * argv[]) { IplImage * src=0; IplImage * dst=0; double scale=0.618; //缩放倍数 CvSize dst_cvsize; //用于存放图像尺寸 if (argc==2&&(src=cvLoadImage(argv[1],-1))!=0) { dst_cvsize.width=(int)(src->width*scale); //原图的宽 dst_cvsize.height=(int)(src->height*scale); //原图的高 dst=cvCreateImage(dst_cvsize,src->depth,src->nChannels); //创建图像 cvResize(src,dst,CV_INTER_LINEAR); //实现大小变换 cvNamedWindow("src",CV_WINDOW_AUTOSIZE); cvNamedWindow("dst",CV_WINDOW_AUTOSIZE); cvShowImage("src",src); cvShowImage("dst",dst); cvWaitKey(0); cvReleaseImage(&src); cvReleaseImage(&dst); cvDestroyWindow("src"); cvDestroyWindow("dst"); } return 0; } ================================ cvLoadImage的第二个参数和之前不一样,具体为: #define CV_LOAD_IMAGE_UNCHANGED -1 #define CV_LOAD_IMAGE_GRAYSCALE 0 #define CV_LOAD_IMAGE_COLOR 1 #define CV_LOAD_IMAGE_ANYDEPTH 2 #define CV_LOAD_IMAGE_ANYCOLOR 4 根据宏定义看出是指图像不同的颜色和深度,如果想要载入最真实的图像,选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR。 cvLoadImage目前支持如下文件格式: Windows位图文件 - BMP, DIB; JPEG文件 - JPEG, JPG, JPE; 便携式网络图片 - PNG; 便携式图像格式 - PBM,PGM,PPM; Sun rasters - SR,RAS; TIFF文件 - TIFF,TIF; OpenEXR HDR 图片 - EXR; JPEG 2000 图片- jp2。 文章源地址:http://hi.baidu.com/gilbertjuly/blog/item/25e4cd3f08ee733471cf6c82.html
|