OpenCV
文章平均质量分 79
大山喵
这个作者很懒,什么都没留下…
展开
-
OpenCV学习笔记(03) :图像ROI以及线性混合
1. 图像ROI获取源代码#include<opencv2\opencv.hpp>using namespace cv;int main(){ Mat src = imread("E:\\Test.jpg"); Mat src_ROI; src_ROI = src(Rect(100, 0, 300, 300)).clone(); imshow("SRC",s原创 2017-02-06 16:41:26 · 1131 阅读 · 0 评论 -
Unknown CMake command "ocv_define_module"
在编译新版的OpenCV 4.0的opencv_contrib时候,到编译那一步,忽然间遇到问题CMake的命令行出错,应该不是我的问题,上网查了很多帖子,最后发现是最开始在github上下载opencv_contrib的时候,选错了版本,记得2016年的时候,编译OpenCV3.0的opencv_contrib的时候并没有这一步操作,现在需要勾选版本问题解决...原创 2019-02-14 11:22:20 · 5889 阅读 · 0 评论 -
OpenCV学习笔记(12):waitKey函数与Sleep函数的不同
1 前言2 waitKey函数与Sleep函数3 时间刷新程序1 前言 初学OpenCV的时候,会学到一个waitKey 函数,用来做图片显示延时。最近在做一个Qt&OpenCV的项目,需要在一个while循环中做程序暂停,于是就想到了waitKey函数,就直接简单粗暴用这个函数作为循环暂停的时间计时函数,但后面发现结果不对,经过一整天的debug才发...原创 2018-04-11 17:51:36 · 7398 阅读 · 5 评论 -
OpenCV学习笔记(11):libfacedetection人脸检测的配置与使用
1. 前言libfacedetection库是深圳大学的于仕琪老师发布的开源人脸检测库,相比于OpenCV自带的CascadeClassifier人脸检测,无论在速度上还是精度上,都有巨大的优势,是目前已知开源库中最好用的一款。本文通过学习libfacedetection库中的example,进行人脸检测程序的简单实现。2. 开发环境OpenCV3.3Windows 10 64位Visual原创 2017-12-16 11:58:55 · 13449 阅读 · 23 评论 -
OpenCV学习笔记(10):人脸检测
1. 前言OpenCV实现人脸检测主要是采用了adaboost分类算法,这种算法是属于机器学习范畴,需要使用海量图片进行训练,得到一个分类文件,然后根据该文件中的参数进行人脸检测。由于训练过程比较复杂,我们在此不再累述,直接使用官方发布的XML文件即可。 OpenCV的Windows版Release包中提供了两类分类文件,位于路径 opencv/build/etc/下,其中haarcascades文原创 2017-12-16 10:08:35 · 872 阅读 · 0 评论 -
OpenCV学习笔记(09):OpenCV3.2+CMake3.8+VS2013,编译opencv_contrib
Cmake编译opencv contrib部分1. 前言最近才知道,在OpenCV3.0 之后,OpenCV算法包被拆分成两部分,官方发布的OpenCV包只包含最基础最稳定的部分,而某些图像处理的经典算法如SIFT和SURF等被封装到opencv_contrib中。如果想要使用这些包,还需要自己另外编译。这些天看了好多帖子,终于把这件事做成了,现在梳理一下。2. 准备工作opencv3.2 源文件下原创 2017-04-10 21:26:40 · 21333 阅读 · 27 评论 -
OpenCV学习笔记(07):图像通道的分离和混合
1.通道分离函数splitOpenCV提供split函数将多通道的矩阵分离成单通道矩阵,原型如下:void cv::split (const Mat & src,Mat * mvbegin ) 参数src是输入的图像; 参数mvbegin是指向Mat类型的指针,在这里,表示存储分离出来的多通道的Mat数组;该函数的实现公式为: 2.通道聚合函数mergemerge和split总是成对原创 2017-02-14 15:09:03 · 3704 阅读 · 0 评论 -
OpenCV学习笔记(06):OpenCV颜色空间转换的两种方式
1.背景知识1)什么是色域?在计算机图形当中,色域是对颜色进行编码的一种方案,最常见的编码方案是RGB模式。我个人的理解是,色域是计算机描述色彩空间的一种量化方式,颜色对于人而言,是一种感性而主观的概念(比如说,蓝蓝的天空,白白的云),但在计算机中,对于颜色的描述必须数字化,以0和1的方式表达,那么如何规定这些表达,色域遍应运而生,比如在计算机内存中,蓝色为RGB(0,0,255),对应值#0000原创 2017-02-10 16:05:48 · 4745 阅读 · 6 评论 -
OpenCV学习笔记(05):Mat类详解(二)
1. 前言:Mat类的深入解读我在学《数据结构》的时候,每接触一种新的ADT(abstract data type, 抽象数据类型 ),一般的套路都是这样的—— 1.先了解ADT的结构,如何定义?包括哪些数据对象?如,线性表是n个具有相同特性的数据元素的有限序列。 2.再学习基于该ADT结构的一些操作和算法。如,线性表的增删查改,基于顺序表的排序算法; 3.最后再学习该ADT的存储方式和实现过原创 2017-02-09 14:26:50 · 3037 阅读 · 1 评论 -
OpenCV学习笔记(04):Mat类详解(一)
1. 前言:Mat类起源OpenCV作为强大的计算机视觉开源库,很大程度上参考了MatLab的实现细节和风格,比如说,在OpenCV2.x 版本以后,越来越多的函数实现了MatLab具有的功能,甚至干脆连函数名都一模一样(如 imread, imshow,imwriter等)。这一做法,不仅拉近了产品开发与学术研究的距离,并极大程度的提高了开发人员的研发效率,不得不说,Intel公司真的是一个伟大的原创 2017-02-08 16:48:29 · 54485 阅读 · 13 评论 -
Qt 5.7+OpenCV3.1+VS 2013+CMake 3.7
Qt 5.7+OpenCV3.1+VS 2013+Cmake 3.7配置1. 引言如果您是OpenCV和Qt的初学者,如果您需要了解并学习如何配置Qt5.7和OpenCV3.1,那么本文可能对你有所帮助。本文是基于Windows7 64bit的环境,将目前(2016年11月21日)最新版的OpenCV3.1 配置到Qt 5.7上,使用Visual Studio2013编译器(而不是Qt自带的Mi原创 2016-11-08 07:26:55 · 3686 阅读 · 5 评论 -
OpenCV学习笔记(01) :读取图片并显示
#include<opencv2\opencv.hpp>using namespace cv;int main(){ Mat src = imread("E:\\Test.jpg", IMREAD_COLOR); namedWindow("Show", WINDOW_OPENGL); imshow("Show", src); waitKey(0); de原创 2017-01-13 22:15:39 · 2338 阅读 · 1 评论 -
OpenCV学习笔记(02) :OpenCV拍摄视频并保存
前言 本程序基于Visual Studio2013+Windows 7x64 +OpenCV3.1的环境,实现调用电脑USB摄像头,并保存视频文件到本地的功能。程序实现//VideoCapture.cpp#include<opencv2\opencv.hpp>using namespace cv;int main(){ VideoCapture capture(0); /原创 2017-01-19 21:15:06 · 4306 阅读 · 11 评论 -
Qt:OpenCV::Mat与Qt::QImage相互转换
前言 Qt和OpenCV是一对形影不离的好基友(哥俩都开源,Qt又跨平台,Linux环境友好),但OpenCV的最常用的类Mat无法直接用于Qt的QImage中,原因在于,两者对图片定义和操作有所不同——Mat的主要功能是矩阵运算,拥有数之不尽的数据类型,包罗万象;而QImage侧重于图片显示,更多的操作是在图形界面上。 因此,Mat与QImage之间的传值,要多一步转换操作。Mat转Q...原创 2019-04-09 13:11:17 · 11818 阅读 · 1 评论