cropping IplImage most effectively

cropping IplImage most effectively

在Iplimage格式图像下高效设置ROI
IplImage* orig = cvLoadImage("test.jpg");
if (!orig)
{
    return -1;
}
printf("Orig dimensions: %dx%d\n", orig->width, orig->height);

cvSetImageROI(orig, cvRect(0, 250, 350, 350));

IplImage *tmp = cvCreateImage(cvGetSize(orig),
                               orig->depth,
                               orig->nChannels);

cvCopy(orig, tmp, NULL);
cvResetImageROI(orig);

orig = cvCloneImage(tmp);
printf("Orig dimensions after crop: %dx%d\n", orig->width, orig->height);

cvNamedWindow( "result", CV_WINDOW_AUTOSIZE );
cvShowImage( "result", orig);
cvWaitKey( 0 );
cvDestroyWindow( "result" );

Unfortunately, it's imperative that you create a temporary image to store the result of  cvCopy() .

进行ROI方面的考虑主要是因为最近处理的图像太大,不能完全显示,由
http://comments.gmane.org/gmane.comp.lib.opencv/22573
you can either resize the image before display it or create a new 
temporary image that hold the ROI and display the cropped image.

得到提示,显示超大的图像有两种方式:
1.重新设置图像的size
2.创建一个临时图像,然后保存ROI同时显示出来;
之后又搜索了一下,发现有种很简单的方式显示超大图像:
IplImage* src = cvLoadImage("../image/1.jpg", CV_LOAD_IMAGE_GRAYSCALE);
cvNamedWindow("widows", CV_WINDOW_NORMAL);
cvShowImage("widows", src);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值