![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
Young__Fan
学习,记录,分享,持之以恒
展开
-
对《OpenCV3编程入门》这本书的勘误页码进行排序
前言《OpenCV3编程入门》这本书由知名博主浅墨_毛星宇等人编著,非常适合入门OpenCV初学者使用,本人正在入门,但在网上得知书中有不少错误,所以我想将这些错误罗列起来,供大家和自己查找。在翻阅浅墨_毛星宇的博客得知这些错误的地方,作者对错误在博客上进行了及时的勘误,很负责的态度值得赞赏。错误的页码,在作者的四次勘误中,有点乱,所以我将其进行了排序,就是简单的冒泡排序。/*...原创 2018-03-31 21:14:03 · 393 阅读 · 0 评论 -
OpenCV函数解析之theRNG()
OpenCV中的函数-theRNG(),到底什么意思呢?源码中关于theRNG()的注释如下:/** @brief Returns the default random number generator.The function cv::theRNG returns the default random number generator. For each thread, there...原创 2018-09-15 20:39:14 · 4165 阅读 · 0 评论 -
std::vector型转cv::Mat型矩阵
在opencv中Mat类的构造函数中有一个构造函数可以直接把vector类转换为Mat类。如下所示:std::vector<cv::Point2f> points;cv::Mat image(points); //image为一个points.size()行,2列的Mat型矩阵 (32FC1)或者这样写:std::vector<cv::Point2f...原创 2018-09-16 23:10:10 · 5908 阅读 · 2 评论 -
OpenCV函数解析之convexHull()
convexHull函数C++:void convexHull(InputArray points, OutputArray hull, bool clockwise=false, bool returnPoints=true);OpenCV源码中关于convexHull函数的文档注释如下:/** @brief Finds the convex hull of a point s...原创 2018-09-17 16:04:30 · 6630 阅读 · 1 评论 -
OpenCV里的线型-lineType(如:8连通、4连通)
转载:https://zhidao.baidu.com/question/427970238676959132.html首先说明一点:这个linetype参数并不是指线型是实线、虚线还是点画线,这个参数实际用途是改变线的产生算法。什么意思?以函数line()为例,官方的说明文档里lineType参数说明如下: 1 Line(CvArr* img, CvPoint...转载 2018-09-13 22:53:45 · 16825 阅读 · 3 评论 -
OpenCV中findcontours函数查找轮廓汇总
OpenCV3版本中:hierarchy[i][0]~hierarchy[i][3] 中,0代表与当前轮廓平级的后一个轮廓的的索引编号、1代表与当前轮廓平级的前一个轮廓的索引编号、2代表当前轮廓的子轮廓的索引编号、3代表当前轮廓的父轮廓的索引编号。如果当前轮廓没有对应的平级后一个轮廓、平级前一个轮廓、子轮廓或父轮廓的话,则hierarchy[i][0] ~hierarchy[i][3]的相应位被...原创 2018-09-14 21:09:20 · 4148 阅读 · 0 评论 -
OpenCV 创建图像时,CV_8UC1,CV_32FC3,CV_32S等参数的含义
形式:CV_<bit_depth>(S|U|F)C<number_of_channels>bit_depth:比特数---代表8bite,16bites,32bites,64bites...举个例子吧--比如说:如果你现在创建了一个存储--灰度图片的Mat对象,这个图像的大小为宽100,高100,那么,现在这张灰度图片中有10000个像素点,它每一个...原创 2018-08-20 12:08:11 · 58549 阅读 · 22 评论 -
OpenCV中的归一化函数normalize()
当范数(数值)归一化时:默认的alpha=1是范数归一化的值,默认的beta=0在范数归一化时不会使用。当范围归一化:alpha=0是下限,beta=255是上限,这里举得例子是范围为(0,255)。详细介绍请参考博客:https://blog.csdn.net/cosmispower/article/details/64457406然后可以配合OpenCV源码看,源码如下:/**...转载 2018-10-10 10:24:45 · 5515 阅读 · 0 评论 -
OpenCV中的imshow函数深度剖析
imshow函数OpenCV官方注释文档有一部分如下:Displays an image in the specified window.The function imshow displays an image in the specified window. If the window was created with the cv::WINDOW_AUTOSIZE flag, th...原创 2018-10-10 17:10:40 · 6712 阅读 · 4 评论 -
用OpenCV实现目标追踪的八种方法(转)
https://blog.csdn.net/weixin_38907560/article/details/82292091转载 2019-04-11 15:25:38 · 1887 阅读 · 1 评论 -
OpenCV目标跟踪
python-opencv 目标追踪,多目标追踪(需要opencv扩展模块,C++,python):https://blog.csdn.net/xiao__run/article/details/81084209python opencv 多目标跟踪:https://blog.csdn.net/sinat_36811967/article/details/84141233OpenCV3 KCF...原创 2019-04-11 18:13:52 · 1278 阅读 · 4 评论 -
OpenCV中的随机数与随机种子
我们先从在C/C++中的随机数与随机种子说起。rand()、srand()rand()可以生成一个0~RAND_MAX之间的一个随机数,返回值是一个unsigned int类型值。rand函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用...原创 2018-09-15 17:27:39 · 1881 阅读 · 0 评论 -
关于OpenCV滑动条与回调函数的问题剖析
在学习OpenCV的时候,我们经常要使用滑动条,但可能会出现一些如下疑问:问题1:为什么创建滑动条的时候已经指定回调函数了,为什么在下面还要调用一次回调函数?问题2:为什么有时再次调用回调函数的时候,会有两个形式:on_func(0,0) 与 on_func(滑动条初始化时的值,0)?解答:解答问题1:因为创建滑动条的时候,第五个参数是指向回调函数的指针,每次滑动位置改变...原创 2018-08-08 13:26:17 · 1745 阅读 · 0 评论 -
用OpenCV调用手机摄像头
首先下载一个工具:IP摄像头(app),安卓,ios都能下载。这里提安卓版的下载地址:http://app.mi.com/details?id=com.shenyaocn.android.WebCam下载安装后,打开app后,点击下方的“打开IP摄像头服务器”(连上wifi,确保电脑与手机处在同一局域网内)。然后,进行OpenCV代码调用部分:/** *Copyright (c) 2018 Yo...原创 2018-06-23 20:48:53 · 14061 阅读 · 29 评论 -
HelloOpenCV
前言这个代码,虽然简单,但意义非凡,值得纪念,代表我已经踏入OpenCV以及图像处理乃至计算机视觉的大门。Hello OpenCV 代码:/***Copyright (c) 2018 Young Fan.All Right Reserved.*Filename: 1 HelloOpenCV*Author: Young Fan*Date: 2018.4.1*versio...原创 2018-04-02 22:23:25 · 274 阅读 · 0 评论 -
基于OpenCV的图像腐蚀
腐蚀,即用图像中暗色部分“腐蚀”掉图像中高亮的部分。首先载入和显示图像,然后定义一个Mat类型的来获得getStructuringElement函数的返回值,而getStructuringElement函数返回值为指定形状和尺寸的结构元素(内核矩阵),然后通过调用erode函数进行图像腐蚀操作,最后调用imshow函数显示效果图,用waitKey函数去显示腐蚀后的效果图。代码:/*...原创 2018-04-02 22:41:10 · 297 阅读 · 0 评论 -
基于OpenCV 的图像模糊
主要使用进行均值滤波的操作函数blur函数/** *Copyright (c) 2018 Young Fan.All Right Reserved. *Filename: 3 图像模糊 *Author: Young Fan *Date: 2018.4.1 *OpenCV version: 3.4.1 *IDE: Visual Studio 2017 *Description:...原创 2018-04-02 22:50:27 · 362 阅读 · 0 评论 -
基于OpenCV的视频Canny边缘检测
先读取视频,再将视频的每一帧图片灰度化,然后进行模糊降噪,再然后进行Canny边缘检测,输出每一帧画面。/** *Copyright (c) 2018 Young Fan.All Right Reserved. *Filename: 7 对视频进行Canny边缘检测 *Author: Young Fan *Date: 2018.4.1 *OpenCV version: 3.4.1 ...原创 2018-04-02 22:58:53 · 2158 阅读 · 3 评论 -
OpenCV打印测试
/** *Copyright (c) 2018 Young Fan.All Right Reserved. *Filename: 1 printfTest *Author: Young Fan *Date: 2018.4.4 *OpenCV version: 3.4.1 *IDE: Visual Studio 2017 *Description: 1 printfTest */...原创 2018-04-18 12:29:12 · 1003 阅读 · 0 评论 -
图像载入与读取
/** *Copyright (c) 2018 Young Fan.All Right Reserved. *Filename: 2 图像载入与读取 *Author: Young Fan *Date: 2018.4.4 *OpenCV version: 3.4.1 *IDE: Visual Studio 2017 *Description: 图像载入与读取 */#include...原创 2018-04-18 12:35:27 · 423 阅读 · 0 评论 -
图像的载入、显示、输出与初级图像混合
/***Copyright (c) 2018 Young Fan.All Right Reserved.*Filename: 图像的载入、显示、输出与初级图像混合*Author: Young Fan*Date: 2018.4.5*OpenCV version: 3.4.1*IDE: Visual Studio 2017*Description: 图像的载入、显示、输出与初级图像混合...原创 2018-04-18 12:38:09 · 344 阅读 · 3 评论 -
3.4 为程序界面添加滑动条
#define _CRT_SECURE_NO_WARNINGS //为了消除那个不安全sprintf函数错误警告 //必须写在第一行,也包括在注释的前面,真正的第一行/***Copyright (c) 2018 Young Fan.All Right Reserved.*Filename: 4 为程序界面添加滑动条*Author: Young Fa...原创 2018-04-18 12:43:45 · 209 阅读 · 0 评论 -
3.5 鼠标操作
/***Copyright (c) 2018 Young Fan.All Right Reserved.*Filename: 5 鼠标操作*Author: Young Fan*Date: 2018.4.6*OpenCV version: 3.4.1*IDE: Visual Studio 2017*Description: 鼠标操作*/#include<opencv2/op...原创 2018-04-18 12:48:56 · 308 阅读 · 0 评论 -
OpenCV中waitKey()函数的深度解析
while (char(waitKey(1)) != ‘q’) {}相信不少,都是冲着这句代码来的,是不是无法退出?注意:鼠标必须激活当前窗口, 即鼠标要点一下窗口(图像),不然要是放在cmd窗口,无法键入字符。下面我们先深入解读waitKey()这个函数。解读waitKey()函数OpenCV源码里对这个函数有一段说明:This function should be ...原创 2018-04-20 19:03:44 · 61486 阅读 · 4 评论 -
OpenCV像素值读写之at()函数
图像处理中很多时候会对像素点进行操作。在OpenCV有许多方法来对像素进行遍历。at()函数对于单通道图像"picture1",picture1.at<uchar>(i,j)就表示在第i行第j列的像素值。对于多通道图像如RGB图像"picture2",可以用picture2.at<Vec3b>(i,j)[c]来表示某个通道中在(i,j)位置的像素值。1)上面...原创 2018-08-20 09:55:05 · 21282 阅读 · 5 评论