zoukankan      html  css  js  c++  java
  • OpenCV —— ROI

    通过 cvResetImageRoI 函数释放ROI是非常重要的,否则其他操作将默认在ROI区域中进行

    通过巧妙的使用widthStep,可以达到同ROI一样的效果 —— 如果想设置和保持一副图像的多个子区域处于活动状态(ROI 只能串行处理并且必须不断的设置和重置)

    #include <cv.h>
    #include <highgui.h>
    
    int main(int argc,char** argv)
    {
        IplImage* src;
    
        src=cvLoadImage("wukong.jpg",CV_LOAD_IMAGE_COLOR);
    
    //     cvSetImageROI(src,cvRect(50,50,100,100));
    //     cvAddS(src,cvScalar(90),src);
    //     cvResetImageROI(src);
    
    
        CvRect rect=cvRect(50,50,100,100);
        IplImage* sub_img=cvCreateImageHeader(cvSize(rect.width,rect.height),src->depth,src->nChannels);
        sub_img->origin=src->origin;
        sub_img->widthStep=src->widthStep;
        sub_img->imageData=src->imageData+rect.y*src->widthStep+rect.x*src->nChannels;
        cvAddS(sub_img,cvScalar(90),sub_img);
    
        cvNamedWindow("w1");
        cvShowImage("w1",sub_img);
        cvWaitKey();
    
        cvReleaseImageHeader(&sub_img);
        cvDestroyWindow("w1");
        return 0;
    }
  • 相关阅读:
    初识数据库
    局域网和广域网
    面试题汇总
    SSO单点登录解决方案
    接口加密问题
    幂等性问题
    消息队列的消费失败、重复消费问题
    Redis集群搭建
    HashCode详解
    HashMap的底层原理
  • 原文地址:https://www.cnblogs.com/sprint1989/p/3804313.html
Copyright © 2011-2022 走看看