OpenCV-用imageROI来增加某范围的像素

来源:互联网 发布:风月知相思 在线阅读 编辑:程序博客网 时间:2024/06/06 08:35

1:代码如下:

#include "stdafx.h"#include "highgui.h"#include "cv.h"#include "iostream"using namespace std;int main(){    IplImage* src;    //IplImage* cvLoadImage( const char* filename, int flags=CV_LOAD_IMAGE_COLOR )    //flags :指定读入图像的颜色和深度.cvLoadImage( filename, 1 ); 读取彩色图    if((src=cvLoadImage("C:\\horse.jpg",1))!=0)    {        int x=100;        int y=50;        int width=80;        int height=80;        int add=200;        //void cvSetImageROI(IplImage* image,CvRect rect)        //基于给定的矩形设置图像的ROI,即设定感兴趣的区域        //cvRect(矩阵左上角x值,矩阵左上角的y值,矩阵的宽,矩阵的高)        cvSetImageROI(src,cvRect(x,y,width,height));        //cvAddS一个数组和一个标量的元素级的相加运算        //void cvAddS(const CvArr* scr,CvScalar value,CvArr* dst,const CvArr* mask=NULL)        //把scr的元素与常量value相加放到dst里。如果mask没有被设为NULL,那么mask中非零元素指定的dst元素值在函数执行后不变        //CvScalar是一个可以用来存放4个double数值的数组        // inline CvScalar cvScalar( double val0, double val1=0,double val2=0, double val3=0 )最通用的,可初始化0-4个通道        //存放单通道图像中像素:cvScalar(255);        //存放三通道图像中像素:cvScalar(255,255,255);        cvAddS(src,cvScalar(add),src);        cvResetImageROI(src);//释放基于给定的矩形设置图像的ROI        cvNamedWindow("Roi_Add",1);        cvShowImage("Roi_Add",src);        cvWaitKey(0);    }    return 0;}

运行结果:


原创粉丝点击