用imageROI来增加某范围的像素

#include <cv.h>
#include <highgui.h>
// ch3_ex3_12 image_name x y width height add# 
int main(int argc, char** argv)
{

    IplImage* src;
    cvNamedWindow("Example3_12_pre", CV_WINDOW_AUTOSIZE);
    cvNamedWindow("Example3_12_post", CV_WINDOW_AUTOSIZE);  
    if( argc == 7 && ((src=cvLoadImage(argv[1],1)) != 0 ))//项目属性目录的调试下的命令参数输入图像路径,坐标x,y,宽width,高height,像素值增加add
    {
		int x = atoi(argv[2]);
		int y = atoi(argv[3]);
		int width = atoi(argv[4]);
		int height = atoi(argv[5]);
		int add = atoi(argv[6]);
		cvShowImage( "Example3_12_pre", src);
		cvSetImageROI(src, cvRect(x,y,width,height)/*确定矩形区域*/);//设定感兴趣的区域
		cvAddS(src, cvScalar(add)/*存放单或三通道图像中像素*/,src);//把scr的元素与常量add相加放到后面src里
		cvResetImageROI(src);//释放图像image中被设定的感兴趣区域ROI,与cvSetImageROI相对应。
		cvShowImage( "Example3_12_post",src);
      cvWaitKey();
    }
  cvReleaseImage( &src );
  cvDestroyWindow("Example3_12_pre");
  cvDestroyWindow("Example3_12_post");   
    return 0;
}

阅读更多
个人分类: 学习笔记
想对作者说点什么? 我来说一句
相关热词

没有更多推荐了,返回首页

关闭
关闭
关闭