OpenCV之ROI的使用

系统 1548 0

创建一个210*210的单通道图像并将其归0.在图像中使用ROI和cvSet()建立一个增长如金字塔状的数组。也就是,外部边界为0,下一个内部边界为20,再下一个内部边界为20,再下一个内部边界为40,以此类推,直到最后内部值为200,所有的边界应该为10像素的宽度。最后显示这个图形。

      #include 
      
        "
      
      
        cv.h
      
      
        "
      
      
        

#include 
      
      
        "
      
      
        highgui.h
      
      
        "
      
      
        int
      
       main(
      
        int
      
       argc, 
      
        char
      
      **
      
         argv)

{

    IplImage 
      
      *
      
        img;

    img 
      
      = cvCreateImage(cvSize(
      
        210
      
      ,
      
        210
      
      ),IPL_DEPTH_8U,
      
        1
      
      
        );

    cvZero(img);



    
      
      
        int
      
       interset_x = 
      
        0
      
      
        ;

    
      
      
        int
      
       interset_y = 
      
        0
      
      
        ;

    
      
      
        int
      
       offset_x = img->
      
        width;

    
      
      
        int
      
       offset_y = img->
      
        height;

    
      
      
        int
      
       add = 
      
        0
      
      
        ;

    
      
      
        bool
      
       condition = 
      
        true
      
      
        ;



    
      
      
        while
      
      (add<
      
        200
      
      
        )

    {

        cvSetImageROI(img,cvRect(interset_x,interset_y,offset_x,offset_y));

        

        
      
      
        if
      
      
         (condition){

            cvSet(img,cvScalar(
      
      
        0
      
      
        ));

            condition 
      
      =
      
         FALSE;

        }

        
      
      
        else
      
      
        {

            cvSet(img,cvScalar(add));

            condition 
      
      =
      
         TRUE;

        }  



        cvResetImageROI(img);



        add 
      
      = add+
      
        20
      
      
        ;

        interset_x 
      
      = interset_x +
      
        10
      
      
        ;

        interset_y 
      
      = interset_y +
      
        10
      
      
        ;

        offset_x 
      
      = offset_x -
      
        20
      
      
        ;

        offset_y 
      
      = offset_y -
      
        20
      
      
        ;

    }



    cvNamedWindow( 
      
      
        "
      
      
        OpenCVTest4
      
      
        "
      
      
        , CV_WINDOW_AUTOSIZE );

    cvShowImage( 
      
      
        "
      
      
        OpenCVTest4
      
      
        "
      
      
        , img );

    cvWaitKey();

    cvDestroyWindow(
      
      
        "
      
      
        OpenCVTest4
      
      
        "
      
      
        );

    cvReleaseImage(
      
      &
      
        img);

    
      
      
        return
      
      
        0
      
      
        ;

}
      
    

 

OpenCV之ROI的使用


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论