08 2018 档案
摘要:Python: FailedPreconditionError (see above for traceback): Attempting to use uninitialized value matching_filenames_7 《machine lea...
阅读全文
摘要:(没时间一次性写完,更新中) 该项目在Opencv Application的一部分,项目名称为opencv_trainCascade,它即可以用来训练lbp特征分类器,也可以是haar特征,有人说lbp特征训练起来更快,我没有专门比较过,不作评论;根据个人经验...
阅读全文
摘要:准备工作 本例是一个汽车外形的识别程序。 源码下载:https://download.csdn.net/download/tanmx219/10623808 xml分类器及检测原理 训练得到的xml分类器文件内容如下所示, BOOST LBP 24 ...
阅读全文
摘要:整体上说,OpenCV的内存管理比较复杂。他不象其他很多库文件,把内在管理交给操作系统,而是通过大量的类,函数,和结构,自己实现对内存的动态管理。 1. 内存存储器CvMemStorage 一个对象性不强的结构体,它的作用还是在和CvSeq、文件读取等配合中体...
阅读全文
摘要:从父节点派生子节点cvGetFileNode 从CvFileNode* _map_node中,根据key生成一个node,设置后返回这个生成的node。 举个应用的例子: 在函数icvXMLParseValue中,当读取XML分类器中一个map_node””时...
阅读全文
摘要:机器学习函数 关于机器学习的函数,很多在OpenCV的中文官网上有解释,这里不再重复贴出,链接如下, http://wiki.opencv.org.cn/index.php/机器学习中文参考手册 CvSeq内存管理函数简要说明 (1)CreatSeq ...
阅读全文
摘要:功能:把数据类型为_Tp的一组集合进行聚类,也就是根据相似或相同的某特征进行归类,最后分成若干个类别。 这里是以相似矩形的分类为例进行讲解,重点内容都在注释中。整体过程就是先判断两个矩形是否相似,如果相似,就决让其中一个做父节点,一个做子节点,然后再检查这个关...
阅读全文
摘要:如果你在测试trainCascade时,资料目录没有放在项目目录中,很有可能触发下面的报错: Train dataset for temp stage can not be filled. 我们很容易定位这个错误的来源,在cascadeClassifier.c...
阅读全文
摘要:理论基础 所谓直方图,在图像中,指的就是各个像素的统计值,就是一个像素在整幅图像中出现次数。 例如下面这张16个像素的图片,其直方图就是 直方图均衡化,是将给定图像的直方图改造成均匀分布的直方图,从而扩大像素灰度值的动态范围,达到增强图像对比度的效果。 ...
阅读全文
摘要:(注:CSDN不适合写公式,只好上传图片格式) 其中Pkk=Pll=cosθ, Plk=Pkl=sinθ,形式上就是这样, A*PT Aik = Aik×Pkk+Ail×Pkl Ail = Aik×Plk+Ail×Pll P*A Ak...
阅读全文
摘要:OpenCV的硬件加速层全称是OpenCV Hardware Acceleration Layer (HAL),一般来说,硬件厂商或开发人员可能会根据自己的实际情况,开发出独立于OpenCV的运算函数,以支持硬件优化,加快运算速度。这些功能性模块有可能是闭源的...
阅读全文
摘要:协方差矩阵 在统计学与概率论中,协方差是指两个向量元素之间的相关性。 设为n维随机变量 方差的定义为: 当存在两个随机变量X,Y时,其各个维度偏离其均值的程度就可以用协方差来定义: 在物理上的理解,你可以认为协方差是指两个向量之相互影响的程度,单从数值...
阅读全文
摘要:OpenCV中采用了很多类似下面方式,在类的构造函数中动态进行定义转换 #include "stdafx.h"class Mat {public: int val; void init() { val = 100; }};class holder{publi...
阅读全文
摘要:卷积运算是如何进行的 一维卷积 定义: 理解与计算举例: x(n)={x1, x2, x3, x4}; h(n)=(h1, h2, h3, h4); 那么: Y(0)=x(0)h(0); //序号和=0+0=0Y(1)=x(0)h(1)+x(1)h(0)...
阅读全文
摘要:花木成畦手自栽 ! 先来两张wikipedia上的图,分别为4连通填充和8连通填充的示意图。 FloodFill,一般的翻译是漫水填充,也就是把相邻的满足填充要求的颜色换成某个颜色的过程。填充方式一般是4连通,也就是扩展方向是上下左右4个方向, 当然你也...
阅读全文
摘要:在OpenCV中,Mat是一个基础的类,也是最重要的类之一,它直接实现对图像的内存管理和数据操作。 Mat的常见属性 Mat类可以看作是一个数据结构,它以矩阵的形式来存储和管理数据,里面定义了大量的相关属性。而理解这些属性,是我们灵活运用OpenCV的基础。 ...
阅读全文
摘要:Mat是何处理数据类型的 在OpenCV中,矩阵在创建时,会传入一个数据类型,比如create函数要求传入_type; 然后,数据类型会被保存到flags中,create函数原型如下, inlinevoid Mat::create(int _rows, int...
阅读全文
摘要:这里先写一个序,是督促自己常常来更新博文(名字没想好,叫OpenCV程序设计的艺术?)! 很久了,想写一点关于OpenCV,FFMPEG,X264等源码解析的博客。 考虑到基础都是相通的,所以决定先写一些基础性的知识。 相对于FFMPEG和X264,Ope...
阅读全文
摘要:先说公式,sz对齐的到n位的计算方法是 (sz + n-1) & -n; 或者 (sz + n-1) & ~n; 取决于系统要求,图像在内存中的存储,往往和原来的图片尺寸不一样,在windows图像宽度必须是bytes (32 bits) aligned,...
阅读全文
摘要:对于大多数程序猿,图像视频音频等的开发学习,其实最难的不是界面,也不是代码风格,而是算法。而要了解算法,有两条是必经之路,第一是对原理的理解,大部情况下,这是一个数学问题;第二条,就是对源码的解读,你必须 清楚地知道数学理论是如何变成代码,并最终产生想要的结果...
阅读全文
摘要:安装OpenCV 首先,到opencv.org上把opencv的windows包下载下来,我是一上去把就能下的几个全部down下来,免得以后要其他的还得再上来,如下,一个android包,一个ios包,windows下用的包就是这个:opencv-3.4.1-...
阅读全文
摘要:老是要到属性里改变环境变量,一步步的好麻烦,找了个环境变量编辑器, http://www.softpedia.com/get/System/System-Miscellaneous/Path-Editor.shtml 如果嫌网络慢,我做了个链接,可以去这里下载...
阅读全文
摘要://// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package android;public final ...
阅读全文
摘要:Android Studio真是什么奇葩报错都有,今天建了个新项目,居然无缘无故出现:cannot resolve symbol recyclerview。自动提示中也没有RecyclerView,在java中导入包, import android.suppo...
阅读全文
摘要:OpenGL中,有一个函数叫frustum,字面的意思是截锥体,也就是一个去掉头部的锥体,如下图所示, 看了一下《计算机图形学》(英文名Computer Graphics with OpenGL)的透视投影推导过程,比较全面,各种情况都有描述。不过最近又参考...
阅读全文
摘要:问题的由来 在处理透视图的时候,我们经常需要用到齐次坐标。 回想一下我们初中和高中学习的坐标系,往往被称为迪卡尔坐标,也叫欧几里德坐标,这也是几何学中最基本的坐标。在该坐标系的诸多定律中,有一条就是:两条平行的直线永不相交。 然而在图像处理中,我们通常用到的透...
阅读全文
摘要:报错内容如下, Could not find com.android.support:appcompat-v7:28.0.0-beta01.Searched in the following locations:file:/D:/AndroidSDK/extr...
阅读全文
摘要:首先,程序在虚拟机上一切正常,在真机调试时闪退,报错内容大致如下, I/System.out: waiting for debugger to settle... I/System.out: debugger has settled (1389)W/Syste...
阅读全文
摘要:说在前面的话 图片处理,音频,视频处理,最复杂的就是算法。而在处理这些算法之前,最基本的功夫,就是你必须先深刻地了解自己所使用的平台,比如Android系统提供了哪些函数,这些函数的参数都有些参数,该如何使用这些函数。 Bitmap也提供了getPixel函数...
阅读全文