用imageROI来增加某范围的像素

void test_roi()
{
    IplImage *img = cvLoadImage("opencv-logo.png");

    int x = 100;
    int y = 100;
    int width = 200;
    int height = 200;
    int add_val = 200;
    cvSetImageROI(img, cvRect(x, y, width, height)); 
    cvAddS(img, cvScalar(add_val), img);
    cvResetImageROI(img);

    cvNamedWindow("Roi_Add", 1);
    cvShowImage("Roi_add", img);

    cvWaitKey();
}

 

ROI(region of interest)——感兴趣区域。

用途:

  这个区域是图像分析所关注的重点。圈定这个区域,以便进行进一步的处理。而且,使用ROI指定

  想读入的目标,可以减少处理时间,增加精度,给图像处理带来不小的便利

 

一个小孩的脸被alpha融合到一只猫的脸上

void test_alpha_beta()
{
    IplImage *img1 = cvLoadImage("cat.png");
    IplImage *img2 = cvLoadImage("child.png");

    int x = 200;
    int y = 160;
    int width = 100;
    int height = 100;
    int add_val = 200;
    cvSetImageROI(img1, cvRect(x, y, width, height)); 
    cvSetImageROI(img2, cvRect(230, 20, width, height)); 

    double alpha = 0.5;
    double beta = 0.5;
    cvAddWeighted(img1, alpha, img2, beta, 0.0, img1);

    cvResetImageROI(img1);

    cvNamedWindow("Roi_Add", 1);
    cvShowImage("Roi_add", img1);

    cvWaitKey();

}

 

posted @ 2019-02-14 18:51  狂奔~  阅读(191)  评论(0编辑  收藏  举报