
OpenCV
文章平均质量分 83
地灯
To be a better man!
展开
-
OpenCV存取像素值操纵汇总
1.存取单个像素值最通常的方法就是[cpp] view plain copyimg.at(i,j) = 255; img.at(i,j)[0] = 255; 如果你觉得at操作显得太笨重了,不想用Mat这个类,也可以考虑使用轻量级的Mat_类,使用重载操作符()实现取元素的操作。转载 2016-07-15 09:30:00 · 412 阅读 · 0 评论 -
opencv随机数发生器RNG
用OpenCV做算法的朋友们肯定为随机数烦恼过,新版本一直支持随机数产生器啦,而且还继续支持之前版本的c格式的函数,不过与时俱进,我这里介绍C++的RNG类。它可以压缩一个64位的i整数并可以得到scalar和array的随机数。目前的版本支持均匀分布随机数和Gaussian分布随机数。随机数的产生采用的是Multiply-With-Carry算法和Ziggurat算法。其构造函数的初始化转载 2016-07-28 11:21:36 · 865 阅读 · 0 评论 -
【OpenCV笔记 15-2】OpenCV寻找物体最小包围矩形和最小包围圆
OpenCV寻找物体最小包围矩形 minAreaRect()和最小包围圆minEnclosingCircle()运用到的知识点:1.寻找最小包围矩形2.寻找最小包围圆3.定义和输出vector容器点坐标代码示例://寻找最小包围矩形//寻找最小包围圆//定义和输出vector容器点坐标#include #include "opencv2/highgui/h原创 2016-07-28 16:35:02 · 8387 阅读 · 0 评论 -
【OpenCV笔记 15-1】OpenCV寻找物体的凸包convexHull
OpenCV寻找物体的凸包convexHull()应用到的知识点:1.寻找物体的凸包convexHull2.定义和输出vector容器点坐标3.随机数发生器==================================凸包检测示例程序://寻找物体的凸包convexHull//定义和输出vector容器点坐标#include #include "openc原创 2016-07-28 14:09:12 · 2711 阅读 · 0 评论 -
【OpenCV笔记 15-3】OpenCV计算物体最小包围矩形面积和周长
本文将介绍OpenCV计算物体最小包围矩形面积和周长两个函数:contourArea()和arcLength知识点:1.寻找最小包围矩形2.计算最小轮廓的面积和长度3.定义和输出vector容器点坐标代码示例://寻找最小包围矩形//计算最小轮廓的面积和长度//定义和输出vector容器点坐标#include #include "opencv2/highgui原创 2016-07-28 18:24:39 · 8139 阅读 · 0 评论 -
【OpenCV笔记 06】OpenCV中绘制基本几何图形【矩形rectangle()、椭圆ellipse() 、圆circle() 】
本文主要内容:一、介绍OpenCV中三个绘图函数:circle() 、ellipse() 、rectangle()二、函数的应用实例,利用这些函数分别绘制了丰田车标、奥迪车标以及红十字,并附上代码。1.Circle绘制圆形。void cvCircle( CvArr* img, CvPoint center, int radius, CvScalar c原创 2016-07-14 20:30:03 · 41396 阅读 · 2 评论 -
【OpenCV笔记 16-2】OpenCV人脸检测和人眼检测之LBP分类器
OpenCV人脸检测之LBP检测器原创 2016-07-29 11:03:13 · 3486 阅读 · 0 评论 -
Windows环境中编译opencv3.0同时加入OpenCV_contrib库及解决遇到相关问题
因为opencv3.0默认安装中没有加入SIFT、SURF等点特征检测,一百度下一跳,原来这玩意还弄了个其他的库,还只能在GitHub上才能弄到,这两天弄opencv3的contrib库,遇到了一些问题, 为了让大家更好、更快用上contrib库,根据 谷歌百度的几个问题,现分享给大家完整流程,也欢迎大家与我讨论其他opencv方面的问题。一、下载安装准备github desktop转载 2016-07-26 22:43:24 · 622 阅读 · 0 评论 -
【OpenCV笔记 03】OpenCV头文件探秘
在使用OpenCV3.0编写代码的过程中,总会遇到类似于下面的头文件,#include出于好奇,于是辗转到安装目录下招待该头文件,其代码如下#ifndef __OPENCV_ALL_HPP__#define __OPENCV_ALL_HPP__#include "opencv2/core.hpp"#include "opencv2/imgproc.hpp"#include "原创 2016-07-12 22:53:56 · 2002 阅读 · 0 评论 -
【OpenCV笔记 11】VS2013中运行OpenCV 3.0时常见错误及解决方法
常见案例、错误及解决方法:案例一:IplImage格式转换成Mat格式 //使用Mat的构造函数:Mat::Mat(const IplImage* img, bool copyData=false);默认情况下copyData为falseIplImage* srcImg = cvLoadImage("Lena.jpg");//注意:以下三种效果一致,均为浅拷贝Ma原创 2016-07-21 15:23:14 · 4398 阅读 · 0 评论 -
常用OpenCV 2.0库函数速查和OpenCV 3.0函数索引
常用的OpenCV 2.0函数速查==================================前言:opencv已经更新到3.1.0的版本,此文列出其在2.0版本时代的库函数,多数函数与3.0以上版本有着相似之处,比如很多2.0版本函数名去掉前缀cv就是3.0版本的函数名cvWaitKey变成Waitkey(),cvNamedWindow变成namedWidow()等等原创 2016-07-26 15:11:43 · 8982 阅读 · 1 评论 -
【OpenCV笔记 01】OpenCV基本函数介绍
本文主要介绍OpenCV基本函数,包括imread(), imshow(), namedWindow(), imwrite(),函数功能分别对应图像载入,图像显示,创建窗口,输出图像到文件。1.函数imread(),用于图像的载入。1.1函数原型 Mat cv::imread(const String & filename, in原创 2016-07-11 11:06:43 · 1883 阅读 · 0 评论 -
【OpenCV笔记 02】OpenCV滑动条的创建和使用——createTrackbar()函数
createTrackbar()函数原型如下int createTrackbar( const String & trackbarname,//滑动条名称 const String & winname,//所在窗口名称 int * value,//value为指向int的指针,用于返回滑动条当前值 int count,//滑动条条最大值,默认值最小为0 TrackbarC原创 2016-07-11 23:01:06 · 1310 阅读 · 0 评论 -
【OpenCV笔记 08】OpenCV中分离颜色通道split()和图像通道混合merge()
而为了更好的观察一些图像材料的特征,有时需要对RGB三个颜色通道的分量进行分别显示和调整。通过OpenCV的split()和merge()方法可以很方便的达到目的,使用addWeighted函数进行图像混合操作,以及将ROI和addWeighted函数结合起来使用,对指定区域进行图像混合操作。本文将介绍三个函数的应用:split函数详解将一个多通道数组分离成几个原创 2016-07-15 22:11:42 · 3000 阅读 · 0 评论 -
OpenCV基础类容器Mat类详解
我记得开始接触OpenCV就是因为一个算法里面需要2维动态数组,那时候看core这部分也算是走马观花吧,随着使用的增多,对Mat这个结构越来越喜爱,也觉得有必要温故而知新,于是这次再看看Mat。Mat最大的优势跟STL很相似,都是对内存进行动态的管理,不需要之前用户手动的管理内存,对于一些大型的开发,有时候投入的lpImage内存管理的时间甚至比关注算法实现的时间还要多,这显然是不合适的。除了转载 2016-07-15 09:41:38 · 600 阅读 · 0 评论 -
OpenCV3.0.1源码编译及自带样例工程代码编译
OpenCV3.0.1源码编译及自带样例工程代码编译详细步骤参见博文:OpenCV3.0.1源码编译及自带样例工程代码编译=========下面是个人在实际编译过程中遇到问题并解决的经历===========按照推荐的博文,在opencv 源码编译好之后,在编译自带样例工程代码时,如果Cmake里的地址设置不正确,可能会遇到问题:解决方法:注:图中红色方框这里是的地原创 2016-07-27 13:35:28 · 4970 阅读 · 0 评论 -
【OpenCV笔记 04】OpenCV中显式创建Mat对象的5种方法
创建一个Mat对象有多种方法,本文将列举最为常用的五种:1.使用Mat()构造函数,2.利用create()函数创建,用来为已有矩阵开辟内存,不能用来初始化3.类似于Matlab式的初始化方式eye,zeros,ones,4.对小型矩阵使用逗号分隔式出初始化方式5.为已存在的对象创建信息头,利用函数clone()或copyTo(),此方法需要创建一个原图像矩阵的副本原创 2016-07-13 20:51:09 · 2151 阅读 · 0 评论 -
【OpenCV笔记 09】OpenCV中离散傅里叶变换、归一化的运用
本文主要介绍怎样使用opencv来对图片进行傅里叶变换,其核心函数是opencv自带的dft()。离散傅里叶变换DFT(Discrete Fourier Transform)这个技术手段是将空间域映射到频率域中去,在图像处理有着举足轻重的地位。同时在举出的示例中将用到下列函数:int getOptimalDFTSize(int vecsize)该函数是为了获得进行DFT计算原创 2016-07-18 15:13:08 · 3410 阅读 · 0 评论 -
【OpenCV笔记 10】OpenCV线性滤波(均值滤波、方框滤波、高斯滤波)
本文将介绍三种常见的线性滤:均值滤波、方框滤波、高斯滤波1.均值滤波blur()函数原型void cv::blur(InputArray src, //输入OutputArray dst,//输出Size ksize,//模板大小3x3,5x5等,Size(3,3),Size(5,5)原创 2016-07-18 16:28:53 · 736 阅读 · 0 评论 -
【OpenCV笔记 11】OpenCV中基本阈值化操作函数threshold()
阈值分割是最简单的图像分割的方法。OpenCV中提供了阈值函数threshold:threshold() 函数原型:double cv::threshold(InputArray src,OutputArray dst,double threshold_value,double maxval,int threshold_type )函数 threshold() 会接原创 2016-07-19 15:17:30 · 1047 阅读 · 0 评论 -
【OpenCV笔记 12】OpenCV边缘检测之canny算子
一、什么是边缘检测?。边缘检测的基本思想是通过检测每个像素和其邻域的状态,以决定该像素是否位于一个物体的边界上。如果一个像素位于一个物体的边界上,则其邻域像素的灰度值的变化就比较大。假如可以应用某种算法检测出这种变化并进行量化表示,那么就可以确定物体的边界。经典的边缘检测方法是对原始图像中像素的某小邻域来构造边缘检测算子。常用的边缘检测方法有Roberts算子、Sobe l算子、Pre原创 2016-07-21 22:56:59 · 3730 阅读 · 0 评论 -
【OpenCV笔记 05】OpenCV插入文本和字体设置相关函数
putText在图像中显示文本字符串。函数原型如下:void PutText( CvArr* img, const char* text, CvPoint org, const CvFont* font, CvScalar color );img输入图像。text要显示的字符串。org第一个字符左下角的坐标。font字体结构体。color文本的字体颜色。函数cvP原创 2016-07-14 15:42:16 · 6595 阅读 · 0 评论 -
【OpenCV笔记 13】OpenCV中Hough霍夫直线检测和同一窗口显示多幅图片
本文主要涉及两个方面:1、Hough变换用于直线检测 2、实现同一窗口显示多幅图片*********************************************************先看文末示例程序截图***************************************************************************原创 2016-07-25 15:57:32 · 2609 阅读 · 0 评论 -
【OpenCV笔记 14】OpenCV图像增强方法直方图均衡化
直方图均衡化 图像的直方图是什么?直方图是图像中像素强度分布的图形表达方式.它统计了每一个强度值所具有的像素个数. 直方图均衡化是什么?灰度直方图就是在图像中对应某个灰度级的像素的数量值。它可以表示为一个笛卡尔坐标系,其中X坐标是灰度级,Y坐标是该灰度出现的像素数量。直方图均衡化就是一种点运算,处理过程原创 2016-07-26 13:40:00 · 1205 阅读 · 0 评论 -
【OpenCV笔记 07】OpenCV中线段的绘制和文本的插入
1.本文将先介绍OpenCV中线段的绘制和文本的插入,使用到的函数line()和 putText()(前面的一片博文已经介绍过)2.其次将应用于绘制大众车标的示例代码和运行结果一并附上。Line绘制连接两个点的线段void cvLine( CvArr* img, CvPoint pt1, CvPoint pt2, CvScalar color,原创 2016-07-14 21:21:11 · 1467 阅读 · 0 评论 -
OpenCV4.0_Alpha+Visual Studio 2015+Win10配置
OpenCV 4.0-alpha目录0、软件下载1、安装配置1.1 VS2015新建工程1.2 属性管理器配置包含目录库目录附加依耐项1.3 添加系统环境变量2 、代码测试0、软件下载OpenCV4.0 -alpha下载地址,...原创 2018-09-21 22:34:03 · 7845 阅读 · 3 评论