![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
个人笔记|opencv3.4.1深入浅出
笔记
hjxu2016
好记性不如烂笔头|
独乐乐不如众乐乐|
你的纠错与关注就是对我最大的支持
展开
-
Opencv中BGR、YUV、YUV_I420\NV12分析
文章目录一、CV_BGR2YUV二、CV_BGR2YUV_I420本地模拟视频解码YUV数据传输无奈OpenCV中没有自带 BGR转NV12的接口主要分析cv::cvtColor 函数中 CV_BGR2YUV、CV_BGR2YUV_I420区别,并尝试将I420转成NV12本文默认已清楚 YUV中I420、nv12的原理BGR图像大小是 108019203一、CV_BGR2YUV得到的YUV是三个通道,分别对应Y通道、U通道和V通道,且宽高大小一样int main(){ cv::M原创 2020-08-12 17:09:05 · 22944 阅读 · 8 评论 -
Opencv3编程入门
传送门毛星云(浅墨)的专栏转载 2020-04-21 19:50:33 · 1384 阅读 · 2 评论 -
Opencv升级到4.2遇到的相关问题整理
1、升级Opencv到4.2后遇到undefined reference to cv::error(int, cv::String const&, char const*, char const*, int)' (.text._ZN2cv3MatC2ENS_5Size_IiEEiPvm[_ZN2cv3MatC5ENS_5Size_IiEEiPvm]+0x1cf): undefined re...原创 2020-02-12 10:53:39 · 1367 阅读 · 0 评论 -
Opencv之core组件(三):分离颜色通道与多通道图像混合
文章目录一、通道分离: split()函数二、 通道合并:merge()函数一、通道分离: split()函数CV_EXPORTS void split(const Mat& src, Mat* mvbegin);/** @overload@param m input multi-channel array.@param mv output vector of arrays; ...原创 2020-01-14 18:47:01 · 215 阅读 · 1 评论 -
Opencv值core组件(二):感兴趣区域选取与计算数组加权和
文章目录Opencv有两种定义ROI区域的方法, 第一种是使用表示矩形区域的Rect,它指定矩形的左上角坐标,和矩形的长宽,以定义一个矩形区域.Mat imageROI;imageROI = image(Rect(x,y,w,h));imageROI = image(Range(y, y+h), Range(x, x+w))举例:显示如何利用TOI将一副图像加到另一幅图的指定位置...原创 2020-01-06 19:08:06 · 208 阅读 · 0 评论 -
Opencv之core组件(一):访问图像中像素的三种方法
文章目录方法一:指针访问:C操作符[]方法二:用迭代器操作像素方法三:利用动态地址计算在Opencv中,提供了三种访问每个像素的方法这三种方法在速度上略有差异,debug模式下,差异非常明显,release模式下,这种差异就不明显了.通过一种程序来说明:题:原来的图像是256种颜色,现在想将它变成64种颜色,那就只需要将原来的颜色整除4,再乘4就可以了程序的主函数int main() ...原创 2020-01-02 19:55:55 · 211 阅读 · 0 评论 -
Opencv笔记:显式创建Mat对象的六种方法
文章目录Mat不但是一个非常有用的图像容器类,也是一个通用的矩阵类,可以用它来创建和操作多维矩阵.创建Mat对象有多种方法一、使用Mat()构造函数using namespace cv;int main() { Mat M(2, 2, CV_8UC3, Scalar(0,0,255)); std::cout << M << std::endl; ...原创 2019-12-25 20:07:27 · 490 阅读 · 0 评论 -
Opencv数据类型(五):Range类和Ptr类
文章目录一、Range类一、Range类cv::Range类用于确定一个连续的整数序列,有两个元素 start 和 end,看类的构成class CV_EXPORTS Range{public: Range(); Range(int _start, int _end); int size() const; //得到元素数量 bool empty() con...原创 2019-12-25 19:49:41 · 2836 阅读 · 0 评论 -
Opencv数据类型(四):复数Complex类
文章目录1、共轭复数介绍2、Opencv复数类介绍3、举例1、共轭复数介绍摘自 百度百科 复数介绍https://baike.baidu.com/item/%E5%A4%8D%E6%95%/254365?fr=aladdin共轭复数,两个实部相等,虚部互为相反数的复数互为共轭复数(conjugate complex number)。当虚部不为零时,共轭复数就是实部相等,虚部相反,如果虚部为零...原创 2019-12-24 20:28:18 · 2316 阅读 · 0 评论 -
Opencv数据类型(三):Matx类和Vec类
文章目录1、cv::Matx支持的操作cv::Matx类又称固定矩阵类,需要是维度已知,因为所有数据都是在堆栈上分配的,所以分配和清除都很快,而且在小型矩阵(22,33等)做过特别优化。cv::Matx类是opencv_c++基本类型的核心,固定向量类继承固定矩阵类。一般情况下,当你要来处理矩阵代数的矩阵的时候,需要用到固定矩阵类;如果对象是一个图像或者大型浮点的大数组,那么推荐用cv::Ma...原创 2019-12-16 20:08:00 · 5920 阅读 · 0 评论 -
Opencv数据类型(二):Rect类和RotatedRect类
文章目录1、Rect类的一些别名,如Rect2i,Rect2f, Rect2d等等typedef Rect_<int> Rect2i;typedef Rect_<float> Rect2f;typedef Rect_<double> Rect2d;typedef Rect2i Rect;2、Rect_类的构造函数,Rect类包含Point类的成员x...原创 2019-12-12 20:31:15 · 5380 阅读 · 0 评论 -
Opencv数据类型(一): Point类、Scalar类、Size类
文章目录一、Point类的一些别名,如Point2i,Point3f等等typedef Point_<int> Point2i;typedef Point_<int64> Point2l;typedef Point_<float> Point2f;typedef Point_<double> Point2d;typedef Point2i...原创 2019-12-05 19:06:25 · 4092 阅读 · 0 评论 -
opencv学习(六)pading之copyMakeBorder函数
卷积操作时,边界可以填充或者不填充,如果我们需要填充呢?opencv提供了copyMakeBorder函数,可以实现边界填充功能我们来看函数原型CV_EXPORTS_W void copyMakeBorder(InputArray src, OutputArray dst, int top, int bottom, int...原创 2018-09-05 20:52:12 · 7347 阅读 · 0 评论 -
opencv学习(五)线性滤波之方框滤波、均值滤波、高斯滤波
滤波的目的:1、抽出对象的特征作为图像识别的特征模式2、适应图像处理的要求,消除图像数字化时所混入的噪声平滑滤波是低频增强的空间域滤波技术,一般用来模糊图像或者消除噪声这里我们简单谈空间域的滤波处理,主要是把滤波器想象成一个包含加权系数的窗口,平滑是,进行加权平均,得到像素点的值1、方框滤波之BoxBlur函数boxblur函数的作用是使用boxfilter(方框滤波器...原创 2018-07-22 16:32:51 · 1860 阅读 · 0 评论 -
Opencv学习(四)颜色空间变换之cvtColor()函数
先看函数类型CV_EXPORTS_W void cvtColor( InputArray src, OutputArray dst, int code, int dstCn = 0 );//InputArray src:输入图像//OutputArray dst:输出图像//int code为颜色转换空间标志符//int dstCn = 0:目标图像的通道数,如果该参数为0,通道数取...原创 2018-07-19 16:33:51 · 8204 阅读 · 0 评论 -
Opencv学习(三)简记Mat中的数据类型
读源码的时候遇到Mat的数据类型,在这里简单记一下,遇到一个记一个,如有错误,欢迎指正。一、mat.type()函数opencv中Mat存在各种类型,其中mat有一个type()的函数可以返回该Mat的类型。类型表示了矩阵中元素的类型以及矩阵的通道个数,它是一系列的预定义的常量,其命名规则为CV_(位数)+(数据类型)+(通道数)。具体的有以下值: 通道数我们可以发现,C4=C3+8、...原创 2018-07-19 15:22:53 · 23019 阅读 · 0 评论 -
opencv学习(二)简单的小程序
前面大体了解了opencv主要架构,大体了解了一下opencv的主要构成,先来上手一个简单的小程序吧,在这里,暂且不追究函数是怎么实现的,以及相关定义,通过程序,我们大体可以发现,opencv新的版本和matlab很相似先实现一个腐蚀以及均值滤波函数,代码如下#include "stdafx.h"#include <opencv2/opencv.hpp>#incl...原创 2018-07-18 21:40:51 · 3242 阅读 · 0 评论 -
opencv学习(一)基础架构分析
转自https://blog.csdn.net/nicewe/article/details/79216270在学习opencv使用之前我们先来看一下opencv有哪些组件结构。至于OpenCV组件结构的研究方法,我们不妨管中窥豹,通过opencv安装路径下include目录里面头文件的分类存放,来一窥OpenCV这些年迅猛发展起来的庞杂组件架构。我们进入到D:\ProgramFiles\op...转载 2018-07-17 19:52:28 · 874 阅读 · 0 评论 -
window7+visual Studio2017+opencv3.4.1安装
初探opencv3的c++版本。以前实验室为了实现某个功能,画个ppt啥的,比如图像腐蚀、膨胀,都是直接调用opencv-python库,直接生成图像,python的强大众所周知,可现在目前产品落地,大多数还是基于c/c++语言(笔者近期找计算机视觉工作,发现绝大多数产业都要求熟练opencv视觉库,且需要能够手写实现算法,基于c/c++,之前写过一些图像算法的简单实现(算法没有优化,且时间复...原创 2018-06-28 21:53:16 · 4188 阅读 · 4 评论