
C++
文章平均质量分 97
iracer
这个作者很懒,什么都没留下…
展开
-
OpenCV4机器学习算法原理与编程实战(附部分模型下载地址)
一直想找本书,能在机器学习复杂的算法原理和高效的编程实战之间达到合适的平衡:让感兴趣的同学拿到就有能用的代码,还有基本原理的介绍,因为了解原理才知道什么时候用什么算法最合适,以及如何调整参数。这是本写了三年多的书,将最新的OpenCV4机器学习ML和深度学习DNN模块的精彩呈现在纸面,汇集了大量的算法原理与对应的示例程序,希望能对大家的学习有所帮助:)原创 2021-04-23 13:56:34 · 8400 阅读 · 9 评论 -
一起学UML建模:面向对象基础与UML表示
统一建模语言(Unified Modeling Language, UML)是软件业的标准语言。我们常见的软件通常都是面向对象的。复杂系统建模,需要调研需求、分析问题、设计解决方案等。在开发的每个阶段都应使用对象,使用对象可有效减少信息量,加强团队的协作交流。此篇为学习笔记整理备忘,了解的请忽略:)目录1. 为什么要面向对象1.1 对象更便于人们理解1.2 专业人员可以更好的交...原创 2020-03-11 02:34:40 · 1802 阅读 · 0 评论 -
一起学UML建模:UML简介与建模软件安装
对于非软件工程专业的同学,写代码最痛苦事之一就是设计和建模问题。除了啃一啃《设计模式》,还有UML可以帮我们。UML是什么?能做什么?又如何使用UML建模呢?本文首先介绍UML,然后介绍一个建模器——StarUML的安装和基本使用。本文内容主要为两个方面:UML介绍 UML工具安装目录1.什么是UML2.UML能做什么2.1 UML结构图2.2 UML行为图2....原创 2020-03-06 00:37:59 · 1987 阅读 · 0 评论 -
OpenCV—反向投影直方图检测特定图像内容
本文为Opencv计算机视觉编程攻略(第二版)学习笔记,介绍了反向投影直方图检测图像中的特定内容。本文包括自己整理和分解的笔记、示例程序的实现方法以及一些体会。分别使用1维灰度直方图和3维彩色直方图反向投影检测图像中的特定内容,给出了实验结果。另外,讨论了不同bin个数度检测的影响,以及实验在不同的色彩空间的测试结果。原创 2015-10-01 12:14:51 · 5278 阅读 · 2 评论 -
OpenCV—用控制器设计模式实现功能模块间的通信
在构建复杂程序时,需要创建多个算法来协同工作,以实现一些高级功能。要合理地构建程序并让所有类能互相通信,程序将变得越来越复杂。因此在一个类中集中对程序进行控制是非常有益的。这就是控制器设计模式背后的思想。《Opencv计算机视觉编程攻略(第二版)》书中3.3节用控制器设计模式实现功能模块间的通信通过一个简单的例子介绍了这种编程模式,但书中只给出了部分关键代码,本文将实现该例子的笔记整理出来做为学习笔记。原创 2015-09-20 23:08:20 · 3967 阅读 · 0 评论 -
OpenCV—基本数据结构与示例
本文梳理了一些在OpenCV工程中经常用到的几种基本数据类型,并给出了使用方法和简要的示例。原创 2016-05-02 00:10:12 · 13940 阅读 · 7 评论 -
OpenCV—基本矩阵操作与示例
图像处理中对矩阵的操作非常重要,本文总结了使用OpenCV进行矩阵的创建、初始化以及基本矩阵操作,给出了示例代码。原创 2016-05-02 16:30:14 · 117734 阅读 · 15 评论 -
OpenCV—图像分割中的分水岭算法原理与应用
图像分割是按照一定的原则,将一幅图像分为若干个互不相交的小局域的过程,它是图像处理中最为基础的研究领域之一。目前有很多图像分割方法,其中分水岭算法是一种基于区域的图像分割算法,分水岭算法因实现方便,已经在医疗图像,模式识别等领域得到了广泛的应用。然而基于梯度图像的直接分水岭算法容易导致图像的过分割,本文介绍了传统分水岭算法以及基于标记图像的分水岭算法的基本原理,以OpenCV自带函数watershed()为例说明了基于标记图像的分水岭算法的应用。原创 2015-10-18 09:58:56 · 75201 阅读 · 30 评论 -
DIY一个基于树莓派和Python的无人机视觉跟踪系统
DIY一个基于树莓派和Python的无人机视觉跟踪系统无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配。如果想来点高级的——在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其实视觉跟踪已经在一些高端的消费级无人机上有了应用,不过玩现成的永远没有自己动手来劲;)。前段时间DIY了一个无人机三轴云台的视觉跟踪系统,除去云台花了¥370,本文将设计思路与实验效果分享...原创 2017-02-02 21:26:15 · 64939 阅读 · 21 评论 -
Win7系统Visual Studio 2013配置OpenCV3.1图文详解
OpenCV3.1对硬件加速和移动开发的支持相对于老版本都有了较大改进,支持新的开发工具,更易于扩展,配置方式也比以前简单一些。但一直用OpenCV2.4,直到最近准备写点东西才抽出时间更新了一下开发环境:Win7,64bit系统,安装VS2013并配置OpenCV3.1。本文将安装配置过程整理贴出,希望对有需要的同学有所帮助。原创 2017-07-21 00:27:37 · 4728 阅读 · 2 评论 -
OpenCV —数据持久化: FileStorage类的数据存取操作与示例
许多应用都需要用到数据的存储于读取,OpenCV通过XML/YAML格式实现数据持久化。本文简要梳理了使用 FileStorage类进行基本数据持久化(存取)操作,给出了示例代码。原创 2016-05-07 19:49:11 · 39464 阅读 · 7 评论 -
OpenCV的Image Watch插件安装与使用
OpenCV的Image Watch插件安装与使用说来惭愧,一直觉得OpenCV在调试方面不如MATLAB灵活方便,没成想OpenCV官方早就推出了一个叫Image Watch的插件可用于调试时显示和监视图像变量了。这里简单记录一下插件的下载安装与基本使用方法,供大家参考。本文示例使用的环境为:Windows10系统+vs2015+OpenCV...原创 2018-10-26 15:23:51 · 32332 阅读 · 8 评论 -
OpenCV—轮廓操作一站式详解:查找/筛选/绘制/形状描述与重心标注(C++版)
OpenCV—轮廓操作一站式详解:查找/筛选/绘制/形状描述与重心标注(C++版)轮廓是定义或限定形状或对象的边或线,是机器视觉中的常用的概念,多用于目标检测、识别等任务。关于OpenCV轮廓操作,尤其是级别及如何使用轮廓级别进行筛选等问题,相关文章比较少,正好最近用到,因此将其总结成文。本文主要介绍OpenCV的查找轮廓函数findContours()绘制函数drawContours()...原创 2019-05-18 20:47:16 · 11879 阅读 · 9 评论 -
c++ string转int, double,int,double转string
c++ string与常用数值变量互转写了几个字符串与数值变量互相转换的几个函数,每次用到都要上网查一堆,耽误时间,写好放到这里备用。方法有很多,这里列出来测试过能用的,其他方法慢慢添加。以下函数自动判断int或者double。测试环境:系统:win7或者win10 IDE:vs2015本文包含的内容:c++ string与常用数值变量互转1. 头文件2. int转...原创 2019-07-02 11:56:25 · 12085 阅读 · 1 评论 -
OpenCV—使用积分图像统计像素
直方图的计算方法为遍历图像的全部像素并累计每个强度值在图像中出现的次数。有时仅需要计算图像中某个特定区域的直方图,而如果需要计算图像中多个区域的直方图,这些计算过程将变得非常耗时。在这种情况下使用积分图像将极大地提高统计图像子区域像素的效率。积分图像在程序中应用非常广泛。本文为学习笔记,实现书中给出的利用积分图像计算自适应阈值的例子。原创 2015-10-10 20:35:06 · 12391 阅读 · 0 评论 -
OpenCV—Mean Shift算法:直方图反向投影查找目标
本文为学习《OpenCV计算机视觉编程攻略(第二版)》4.6节,均值漂算法查找目标的内容笔记。直方图反向投影的结果实质是一个概率分布图,表示一个指定图像片段出现在特定位置的概率。假设我们已经知道图像中某个物体的大致位置,就可以用概率分布图找到物体的准确位置。最可能出现的位置就是窗口中概率最大的位置。如果从一个可能的初始位置开始,在该位置周围反复移动,就可能找到物体所在的准确位置,这个实现方法称为均值漂移(Mean Shift)算法。原创 2015-10-07 22:08:12 · 5891 阅读 · 0 评论 -
OpenCV—利用回调函数实现返回鼠标点击位置的坐标和灰度值
在调试图像处理程序时,经常希望能方便的获取图像上任意坐标的灰度值以查看算法计算结果。本文利用回调函数编写一段代码实现:返回鼠标点击位置的坐标和灰度;输入坐标返回该坐标的灰度。原创 2015-10-11 15:45:45 · 14888 阅读 · 6 评论 -
Arduino 平台与C语言程序设计-week2-C Programming-Lesson3
This series of articles are the study notes of "An Arduino platform and C Programming", by Prof. Harris,Department of Computer Science, University of California, Irvine. This articleis the notes of week 2, C Programming, lessen 3.原创 2015-12-06 22:06:54 · 1579 阅读 · 0 评论 -
Arduino 平台与C语言程序设计-week2-C Programming-Lesson1
This series of articles are the study notes of "An Arduino platform and C Programming", by Prof. Harris, Department of Computer Science, University of California, Irvine. This article is the notes of week 2, C Programming, lessen 1.原创 2015-12-06 21:19:42 · 1882 阅读 · 0 评论 -
Arduino 平台与C语言程序设计-week1-Arduino Environment-Lesson1
This series of articles are the study notes of "An Arduino platform and C Programming", by Prof. Harris, Department of Computer Science, University of California, Irvine. This article is the notes of week 1, lessen 1.原创 2015-12-04 00:15:35 · 2009 阅读 · 0 评论 -
Arduino 平台与C语言程序设计-week2-C Programming-Lesson2
This series of articles are the study notes of "An Arduino platform and C Programming", by Prof. Harris,Department of Computer Science, University of California, Irvine. This article is the notes of week 2, C Programming, lessen 2.原创 2015-12-06 21:49:23 · 1101 阅读 · 0 评论 -
Arduino接口-week4-Lesson1
This article is the study notes of "Interfacing with the Arduino" week4, lesson 1. It mainly talk about Arduino Shields, Ethernet Shields and Ethernet Library.原创 2016-02-02 21:49:07 · 1314 阅读 · 0 评论 -
Arduino接口-week4-Lesson2
This article is the study notes of "Interfacing with the Arduino" week4, lesson 2. It mainly talk about Ethernet Client and Ethernet Server.原创 2016-02-04 09:17:00 · 1145 阅读 · 0 评论 -
Machine Learning - Neural Networks Learning: Backpropagation in Practice
This article is the notes of machine learning week 5, Neural Networks Learning. It contains topic about how to apply Backpropagation algorithm in practice.原创 2016-04-23 21:50:53 · 4255 阅读 · 0 评论 -
vs2010 出错:error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
“error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏”的解决方法,包括:1.修改配置;2.用新版cvtres.exe替换旧版cvtres.exe;3.删除Microsoft Visual Studio 10.0\VC\bin中的cvtres.exe三种方式。原创 2016-04-12 22:57:28 · 134002 阅读 · 49 评论 -
OpenCV—图像椒盐噪声生成器
椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声是指两种噪声,一种是盐噪声(salt noise)盐=白色(255),另一种是胡椒噪声(pepper noise),椒=黑色(0)。前者是高灰度噪声,后者属于低灰度噪声。一般两种噪声同时出现,呈现在图像上就是黑白杂点。对于彩色图像,也有可能表现为在单个像素BGR三个通道随机出现的255或0。原创 2015-10-24 11:11:02 · 12161 阅读 · 1 评论 -
如何构造频域滤波器——图像频域滤波的信号与系统基本理论
本文将对图像频域滤波的信号与系统基本理论做一简要梳理,作为上一篇博文“10句话读懂图像频域滤波——不能不知道的信号与系统基本理论”的补充。包括基本信号维度与形式、复指数信号及其周期性、LSI系统、卷积定理、傅里叶变换与图像频域滤波原理,以及如何构造频域滤波器等内容和源码。原创 2015-10-22 10:57:19 · 10934 阅读 · 3 评论 -
OpenCV—固定阈值门限分割cv::threshold
函数threshold()对输入单通道矩阵逐像素进行固定阈值分割。典型应用是从灰度图像获取二值图像,或消除灰度值过大或过小的噪声。有5中阈值分割类型,由参数thresholdType决定。原创 2015-10-18 23:01:57 · 15589 阅读 · 1 评论 -
OpenCV—矩阵数据类型转换cv::convertTo
矩阵数据类型转换函数convertTo( OutputArray m, int rtype, double alpha=1, double beta=0 ) 的使用方法及示例原创 2015-10-17 14:58:59 · 60533 阅读 · 7 评论 -
OpenCV—形态学运算定义与实现
形态学运算是针对二值图像依据数学形态学(Mathematical Morphology)的集合论方法发展起来的图像处理方法。近年来在数字图像处理和机器视觉领域中得到了广泛的应用,形成了一种独特的数字图像分析方法和理论。本文为学习笔记,主要总结和介绍了形态学的基本运算定义、计算方法和作用,此外还介绍了自定义结构元素的多种方法。原创 2015-10-11 23:39:53 · 7386 阅读 · 0 评论 -
OpenCV—中值滤波
中值滤波器是一种非线性滤波器,常用于消除图像中的椒盐噪声。与低通滤波不同的是,中值滤波有利于保留边缘的尖锐度,但它会洗去均匀介质区域中的纹理。原创 2015-10-24 14:52:59 · 30609 阅读 · 0 评论