
OpenCV
Poke-code
千里之行 始于足下
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenCV学习笔记——对"opencv.hpp"的理解
背景在任意一个OpenCV程序中通过转到定义都能看到如“#include<opencv2/opencv.hpp>”等类似定义。解释 对代码的观察可以发现,opencv.hpp中已经包含了OpenCV各模块的头文件,如图像处理模块头文件“imgproc.hpp”、高层GUI图形用户界面模块头“highgui.hpp”、2D特征模块头文件“features2d.hpp”。 因此...原创 2019-07-09 16:38:52 · 1064 阅读 · 0 评论 -
OpenCV中常用的数据结构和函数
Point类:点的表示 Point类表示的是一个二维坐标下的点,其图像由其图像坐标X和Y指定的2D点。用法示例如下:Point point1,point2;point1.x=10;point.y=12;point2=Point(12,23); 另外,Point_,Point2i,Point互相等价,Point_,Point2f互相等价,因为查看OpenCV库中的core.hpp发现...原创 2019-07-12 11:34:33 · 321 阅读 · 0 评论 -
OpenCV--分离颜色通道&多通道颜色混合
split() 通道分离用到split()函数,该函数用于将多个通道数组分离成几个单通道数组,该函数的C++版本有两个原型:void split(const Mat& src,Mat*mvbegin);void split(InputArray m, OutputArrayOfArrays mv); 第一个参数,InputArray类型的m或者是const Mat&...原创 2019-07-15 15:19:43 · 215 阅读 · 0 评论 -
图像的线性混合操作
线性混合操作是中二元的像素操作,公式如下:在实现时可以用OpenCV中的addWeighted()函数,函数原型如下:void(InputArray src1,double alpha,InputArrary src2,double beta,double gamma,outputArray dst,int dtype=-1);参数1:InputArray类型的src1,表示要加权的第...原创 2019-07-15 13:45:26 · 298 阅读 · 0 评论 -
显式创建Mat
Mat不仅是非常有用的图像容器类,也是一个通用的矩阵类 创建Mat对象可有以下方法:方法一:使用Mat()构造函数 例子如下:Mat M(2, 2, CV_8UC3, Scalar(0, 0, 255));在Mat类定义中该构造函数的原型为:Mat(int rows, int cols, int type,const Scalar& s);对于二维多通道图像,要...原创 2019-07-10 19:38:08 · 240 阅读 · 0 评论 -
基础图像容器Mat
简析 Mat类是用于保存图像以及其他矩阵数据的数据结构,默认情况下尺寸为0.当然我们也可以指定其初始尺寸原创 2019-07-10 16:09:43 · 168 阅读 · 0 评论 -
OpenCV——imread()和imshow()
概述 在学习OpenCV库时没有使用最新版本,用的是OpenCV 2。在OpenCV2中最简单的图像载入和显示只需要两个函数——imread()和imshow()。图像载入 imread() 函数原型如下:Mat imread(const string& filename, int flags=1); 第一个参数:const string&类型的filename,填入...原创 2019-07-10 10:19:28 · 431 阅读 · 0 评论 -
OpenCV的命名空间
OpenCV中的C++类和函数都是定义在命名空间cv之内的。有两种方法可以访问:第一种,在代码的开头加上using namespace cv;这句代码规定程序位于此命名空间之内。第二种,在使用每个OpenCV的类和函数时都加入cv::命名空间...原创 2019-07-10 09:43:37 · 633 阅读 · 0 评论 -
OpenCV——argc与argv参数
背景 在看OpenCV源码时,在示例程序中经常出现argc和argv这两个参数,那么它俩的用途到底是啥呢? argc和argv中的“arg”指的是“参数”。 其中argc为整数,用来统计运行程序时送给main()函数的命令行参数的个数。而*argv[],为字符串数组,用来存放指向字符串参数的指针数组,每一个元素指向一个参数。 argc和argv这两个参数一般在命令行编译程序时有用,...原创 2019-07-09 18:11:25 · 808 阅读 · 0 评论 -
OpenCV中saturate_cast模板函数的使用
背景 对图像进行点操作,来改变图像的亮度和对比度,原理如下图所示: 这里就出现了一个隐患,我们知道像素值的取值范围为(0,255),但按照上面的公式运算结果会超出取值范围,还有可能是非整数,所以需要用到saturate_cast模板函数,该函数的原理如下:if(data<0)data=0;else if(data>255)data=255;有了saturate_ca...原创 2019-07-22 14:46:11 · 1176 阅读 · 0 评论