来自学习opencv(中文版)的一道例题

题目是用imageROI来增加某范围的像素#include<cv.h>#include<highgui.h>intmain(intargc,char**argv){Ipl... 题目是 用imageROI来增加某范围的像素
#include<cv.h>
#include<highgui.h>
int main(int argc,char**argv)
{
IplImage *src;
if(argc==7&&((src==cvLoadImage(argv[1],1))!=0)
{
int x=atoi(argv[2]);
int y=atoi(argv[3]);
int width=atoi(argv[4]);
int hight=atoi(argv[5]);
int add=atoi(argv[6]);
cvSetImageRoi(src,cvRect(x,y,width,hight));
cvAdds(src,cvScalar(add),src);
cvResetImageROI(src);
cvNameWindow("abc",1);
cvShowImage("abc",src);
cvWaitKey();
}
return 0;
}
学习opencv的新手求高手帮忙加一下注释,没注释我看不懂啊,谢谢
展开
 我来答
jackone32123
2014-03-13 · TA获得超过441个赞
知道小有建树答主
回答量:327
采纳率:0%
帮助的人:285万
展开全部
#include<cv.h>
#include<highgui.h>
int main(int argc,char**argv)
{
IplImage *src;
if(argc==7&&((src==cvLoadImage(argv[1],1))!=0) // src读进了文件名argv[1]的文件
{
int x=atoi(argv[2]);
int y=atoi(argv[3]);
int width=atoi(argv[4]);
int hight=atoi(argv[5]);
int add=atoi(argv[6]);
// 以上都在读参数, argv[2]~[5] 所选区域的 x坐标,y坐标,
// width 宽, height 高。这样 x y width height就定义了一块矩形区域
// add 是要对这块区域上每个pixel要加的值

cvSetImageRoi(src,cvRect(x,y,width,hight)); //先将x,y,width,height构成一个CvRect
// 然后再将这个Rect设置为图像的roi(目标区域)
cvAdds(src,cvScalar(add),src); //对图像进行加操作,因为图像设定了roi,所以只对roi进行操作。
cvResetImageROI(src); //释放图像的roi,现在图像的roi就又回到了全图
cvNameWindow("abc",1); //声明一个叫abc得窗口
cvShowImage("abc",src); // 在abc窗口上显示src
cvWaitKey(); // 等待键盘的输入
}
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式