其他分享
首页 > 其他分享> > OpenCV_一些基础但是不了解也不影响使用的知识

OpenCV_一些基础但是不了解也不影响使用的知识

作者:互联网

目录

argc,argv

有些例程的 main 函数中带有参数 argc、argv,在绝大情况下,程序和这俩参数没啥关系,但是可能会因为配置问题提示这有问题,解决方案有:1、根据错误找到出错的地方。2、重新配置。如果看不懂的话,不用纠结这到底是个啥,毕竟要学的是OpenCV,这俩参数涉及的是C、C++本身了。下面简单介绍下这俩参数。
可能出现形式

int main(int argc, char** argv)

或者

int main(int argc, char* argv[])

参数解释:
(1).int argc:英文名为arguments count(参数计数)
count of cmd line args,运行程序传送给main函数的命令行参数总个数,包括可执行程序名,其中当argc=1时表示只有一个程序名称,此时存储在argv[0]中.
(2).char **argv:英文名为arguments value/vector(参数值)
pointer to table of cmd line args,字符串数组,用来存放指向字符串参数的指针数组,每个元素指向一个参数,空格分隔参数,其长度为argc.数组下标从0开始,argv[argc]=NULL.
argv[0] 指向程序运行时的全路径名
argv[1] 指向程序在DOS命令中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
argv[argc] 为NULL.
运行参考博文:
https://blog.csdn.net/HZ490727/article/details/73198401

数字图像

一般情况下,灰度图像用二维矩阵表示,M×N的图像用M×N的矩阵表示,矩阵内每个值为灰度值;彩色图像用三维矩阵表示,M×N×3。
灰度图像存储示意图
灰度图像存储示意图
彩色RGB图像存储示意图
彩色RGB图像存储示意图

IplImage

IplImage结构体是整个OpenCV函数库的基础,在定义该结构变量时需要用到函数cvCreatImage,变量定义方法如下:
IplImage* src="/cvCreateImage"(cvSize(400,300), IPL_DEPTH_8U,3);
上句定义了一个IplImage指针变量src,图像的大小是400×300,图像颜色深度8位,3通道图像。
具体参考:https://baike.baidu.com/item/IplImage/5239886?fr=aladdin

MAT

存储图像的一个类。从功能上讲,Mat类在IplImage结构的基础上进一步增强,并且,由于引入C++高级编程特性,Mat类的扩展性大大提高。
构造函数

Mat test(2,2,CV_8UC3,Scalar(0,0,255));

int sizes[3] = {2,2,2};

Mat test(3,sizes,CV_8UC3,Scalar::all(0));

具体参考:https://www.cnblogs.com/justkong/p/7278579.html

基本数据类型

OpenCV中有多种基本数据类型,在”OpenCV/cxcore/include“目录下的cxtypes.h文件下可以查看其详细定义。
基本数据类型
具体参考:https://blog.csdn.net/woniu199166/article/details/78930717

标签:int,知识,argv,OpenCV,了解,参数,图像,argc,IplImage
来源: https://blog.csdn.net/Dong_ran_zha_xin/article/details/95363072