opencv中main函数一般形式:int main(int argc, char** argv)
其中,argc是argumentcount的缩写,表示传入main函数的参数个数;
argv 是argument vector的缩写,表示传入main函数的参数序列或指针。
argv数组下标从0开始,argc[0]表示程序编译后产生的exe文件的路径,数组的长度为argc。
以learning opencv书中例3-12为例,其代码如下:
//例3-12 用imageROI来增加某范围的像素
//Mr.Han
//2017.6.14
#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 height = atoi(argv[5]);
int add = atoi(argv[6]);
cvSetImageROI(src, CvRect(x, y, width, height));
cvAddS(src, cvScalar(add), src);
cvResetImageROI(src);
cvNamedWindow("ROI_ADD", 1);
cvShowImage("ROI_ADD", src);
cvWaitKey();
}
return 0;
}
编译后,在项目文件夹的Debug文件夹中找到example3_12.exe文件,将此文件的路径复制。
windows+R打开运行窗口,将路径复制到对话框(或者现在运行中输入cmd,打开窗口后输入)。空格后将要用于程序的图片路径粘贴。然后再分别输入程序中的剩余5个参数值,即起始坐标点(x,y),ROI(region of interest感兴趣区域)的宽度width和高度height,以及要增加的像素值。
此处文件路径:E:\PostgraduateEducation\OpenCV学习相关\Practice\learningopencv练习程序\chapter3\example3_12\Debug\example3_12.exe
图片路径:C:\Users\Administrator\Desktop\lena.jpg
ROI选取值及改变值为20 30 40 50 100
或者在cmd中输入
回车执行。即可得到下图所示,图中黑色圈出即为改变的ROI