您的位置:首页 > 其它

利用cvGetCols裁剪图像

2016-01-05 16:32 218 查看
有时为了提高图像处理的速度,只对有价值的区域进行处理,发现opencv中有一个很好用的函数,可以对图像进行裁剪

返回数组的列或一定跨度内的列

CvMat* cvGetCol( const CvArr* arr, CvMat* submat, int col );

CvMat* cvGetCols( const CvArr* arr, CvMat* submat, int start_col, int end_col );

arr

输入数组

submat

指向结果子数组头指针.

col

选定的列索引下标,该下标以0为基准。

start_col

跨度的开始列(包括该列)索引下标,该下标以0为基准。

end_col

跨度的结束列(不包括该列)索引下标,该下标以0为基准。

有时为了提高图像处理的速度,只对有价值的区域进行处理,发现opencv中有一个很好用的函数,可以对图像进行裁剪

#include <iostream>
#include <cv.h>
#include <highgui.h>
using namespace cv;
using namespace std;

void main()
{
IplImage *src = cvLoadImage("lena.jpg") ;
cvShowImage("src",src) ;

IplImage *dst = cvCreateImage(cvSize(200 , src->height) , src->depth , src->nChannels) ;
cvZero(dst) ;
cvGetCols(src , (CvMat*)dst , 20 , 300) ;
cvShowImage("dst" , dst) ;
cvWaitKey(0) ;
//     IplImage *dst = cvCreateImage(cvSize(100 , 100) , src->depth , src->nChannels) ;
}




还有一个函数cvGetSubRect()可以截取任意大小的矩形区域,同样可以对图像进行指定大小的裁剪
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: