#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;
}
用imageROI来增加某范围的像素
最新推荐文章于 2021-04-13 10:33:26 发布