用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(); }