自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (15)
  • 收藏
  • 关注

原创 Tensorflow报错:Python: FailedPreconditionError: Attempting to use uninitialized value

Python: FailedPreconditionError (see above for traceback): Attempting to use uninitialized value matching_filenames_7《machine learning with tensorflow》上第5章有这样一段代码,原来的代码是这样的,import tensorflow as...

2018-08-31 15:55:18 5004

原创 OpenCV源码解析:多尺度检测的训练trainCascade

(没时间一次性写完,更新中)该项目在Opencv Application的一部分,项目名称为opencv_trainCascade,它即可以用来训练lbp特征分类器,也可以是haar特征,有人说lbp特征训练起来更快,我没有专门比较过,不作评论;根据个人经验,lbp在很多场合会更稳定,所以我一般会选lbp特征。这里和检测(detectMultiScale)对应,这里我们仍然以汽车外形检测为例。...

2018-08-24 17:32:59 1137 1

原创 OpenCV源码解析:多尺度检测detectMultiScale

准备工作本例是一个汽车外形的识别程序。源码下载:https://download.csdn.net/download/tanmx219/10623808xml分类器及检测原理训练得到的xml分类器文件内容如下所示,<?xml version="1.0"?><opencv_storage><cascade> <stageType...

2018-08-24 10:07:34 11770 2

原创 OpenCV源码解析:动态内存管理(CvMemStorage与CvSeq)

整体上说,OpenCV的内存管理比较复杂。他不象其他很多库文件,把内在管理交给操作系统,而是通过大量的类,函数,和结构,自己实现对内存的动态管理。1. 内存存储器CvMemStorage一个对象性不强的结构体,它的作用还是在和CvSeq、文件读取等配合中体现出的。1.1 CvMemStorage结构图结构图如下所示,每个block内存块的头部,都是一个CvMemBlock的结构,然...

2018-08-24 08:38:19 2403 1

原创 OpenCV源码解析:Hash链表的生成(cvGetFileNode)与读取(cvGetFileNodeByName)

从父节点派生子节点cvGetFileNode从CvFileNode* _map_node中,根据key生成一个node,设置后返回这个生成的node。举个应用的例子: 在函数icvXMLParseValue中,当读取XML分类器中一个map_node”<_>”时,其相应的key为key(rect),一个rect有4个参数(左上角x,y,右下角x,y),icvXMLParseVa...

2018-08-23 21:26:53 982

原创 OpenCV的函数简要说明(不断收集扩充中)

机器学习函数关于机器学习的函数,很多在OpenCV的中文官网上有解释,这里不再重复贴出,链接如下,http://wiki.opencv.org.cn/index.php/机器学习中文参考手册CvSeq内存管理函数简要说明(1)CreatSeq功能:函数cvCreatSeq创建一序列并返回指向该序列的指针.格式CvSeq* cvCreatSeq(int s...

2018-08-23 20:14:12 852

原创 OpenCV源码解析:partition分类(聚类)

功能:把数据类型为_Tp的一组集合进行聚类,也就是根据相似或相同的某特征进行归类,最后分成若干个类别。这里是以相似矩形的分类为例进行讲解,重点内容都在注释中。整体过程就是先判断两个矩形是否相似,如果相似,就决让其中一个做父节点,一个做子节点,然后再检查这个关系是否影响了其他节点的关系,如果有影响,就调整。检查完之后就沿所有的节点找到顶级父节点,如果该 父节点还没有分类,就分类成一个新的分类值...

2018-08-23 18:09:29 1288

原创 从OpenCV源码了解traincascade训练报错:Train dataset for temp stage can not be filled.

如果你在测试trainCascade时,资料目录没有放在项目目录中,很有可能触发下面的报错:Train dataset for temp stage can not be filled.我们很容易定位这个错误的来源,在cascadeClassifier.cpp中bool CvCascadeClassifier::train( const string _cascadeDirName...

2018-08-17 22:52:34 1383 3

原创 OpenCV源码解析:直方图均衡化的详细算法和过程

理论基础所谓直方图,在图像中,指的就是各个像素的统计值,就是一个像素在整幅图像中出现次数。例如下面这张16个像素的图片,其直方图就是直方图均衡化,是将给定图像的直方图改造成均匀分布的直方图,从而扩大像素灰度值的动态范围,达到增强图像对比度的效果。OpenCV中的直方图均衡化OpneCv中,可以用calcHist进行图像的均衡化,也可以使用equalizeHist可...

2018-08-15 12:10:14 2378 2

原创 OpenCV源码解析:Jacobi法计算矩阵的特征值和特征向量

(注:CSDN不适合写公式,只好上传图片格式)其中Pkk=Pll=cosθ, Plk=Pkl=sinθ,形式上就是这样,A*PT Aik = Aik×Pkk+Ail×Pkl Ail = Aik×Plk+Ail×PllP*A Aki = Pkk×Aki+ Pkl×Ali Ali = Plk×Aki+ Pll×Ali实际计算时,只计算那些必...

2018-08-13 21:39:20 2710

原创 OpenCv源码解析:对HAL硬件加速层的支持

OpenCV的硬件加速层全称是OpenCV Hardware Acceleration Layer (HAL),一般来说,硬件厂商或开发人员可能会根据自己的实际情况,开发出独立于OpenCV的运算函数,以支持硬件优化,加快运算速度。这些功能性模块有可能是闭源的。为了实现顺利对接,OpenCV提供了一个简单的接口模块,当各厂家需要开发自己的运算模块时,只要实现这些接口即可。根据【1】,OpenC...

2018-08-12 15:24:45 6104

原创 OpenCV源码解析:协方差矩阵的计算--calcCovarMatrix

协方差矩阵在统计学与概率论中,协方差是指两个向量元素之间的相关性。设为n维随机变量方差的定义为:当存在两个随机变量X,Y时,其各个维度偏离其均值的程度就可以用协方差来定义:在物理上的理解,你可以认为协方差是指两个向量之相互影响的程度,单从数值上来看,协方差的数值越大,表示两个变量对其均值的变化同向的程度越大。当随机变量有多个的时候,一般不再使用X,Y这样的表述...

2018-08-11 23:25:03 4559

原创 OpenCV中,使用C++类的构造函数进行定义转换

OpenCV中采用了很多类似下面方式,在类的构造函数中动态进行定义转换#include "stdafx.h"class Mat {public: int val; void init() { val = 100; }};class holder{public: Mat* pMat; holder(Mat& test) { test.val = 101;...

2018-08-10 14:26:02 573

原创 OpenCV 源码详解之基本原理:卷积运算及其意义

卷积运算是如何进行的一维卷积定义:理解与计算举例:x(n)={x1, x2, x3, x4}; h(n)=(h1, h2, h3, h4);那么:Y(0)=x(0)h(0); //序号和=0+0=0​Y(1)=x(0)h(1)+x(1)h(0) //序号和=0+1=1+0=1​Y(2)=x(0)h(2)+x(1)h(1)+x(2)h(0); //序号和=0+2=...

2018-08-09 11:54:50 3952 1

原创 OpenCV源码解析:FloodFill(漫水填充)函数

花木成畦手自栽 !先来两张wikipedia上的图,分别为4连通填充和8连通填充的示意图。FloodFill,一般的翻译是漫水填充,也就是把相邻的满足填充要求的颜色换成某个颜色的过程。填充方式一般是4连通,也就是扩展方向是上下左右4个方向,当然你也可以采用8连通填充,把角上那4个也包括进来直观地来说,可以这样填充,以stack堆栈为基础的递归填充一个很简单的...

2018-08-09 10:47:03 4262

原创 OpenCV源码解析之Mat类理解及内存管理

在OpenCV中,Mat是一个基础的类,也是最重要的类之一,它直接实现对图像的内存管理和数据操作。Mat的常见属性Mat类可以看作是一个数据结构,它以矩阵的形式来存储和管理数据,里面定义了大量的相关属性。而理解这些属性,是我们灵活运用OpenCV的基础。 属性 说明 data uchar型的指针。Mat类分为了两...

2018-08-09 10:24:22 5618 3

原创 OpenCV源码解析之基本数据类型操作与概念

Mat是何处理数据类型的在OpenCV中,矩阵在创建时,会传入一个数据类型,比如create函数要求传入_type; 然后,数据类型会被保存到flags中,create函数原型如下,inlinevoid Mat::create(int _rows, int _cols, int _type){ _type &= TYPE_MASK; if( dims <...

2018-08-09 10:07:02 770

原创 写一个OpenCV源码解析的博客 -- 图像开发处理之基础介绍

这里先写一个序,是督促自己常常来更新博文(名字没想好,叫OpenCV程序设计的艺术?)!很久了,想写一点关于OpenCV,FFMPEG,X264等源码解析的博客。考虑到基础都是相通的,所以决定先写一些基础性的知识。相对于FFMPEG和X264,OpenCV的基础性更强,计算功能也更单一。换句话说,你完全可以理解OpenCV的一个类型的计算方式而不用理会是否理解了另一个类型,这可能...

2018-08-08 10:13:08 2056

原创 图像处理常识:内存中的图像宽度的计算

先说公式,sz对齐的到n位的计算方法是(sz + n-1) & -n;或者(sz + n-1) & ~n; 取决于系统要求,图像在内存中的存储,往往和原来的图片尺寸不一样,在windows图像宽度必须是bytes (32 bits) aligned,这里要注意的是sz和n的数据类型,因为他们决定了位数,比如int是32位的,最大只能32位长的数据。如果已...

2018-08-08 09:14:51 1930

原创 Visual Studio 2017中OpenCV源码解读入门篇:配置OpenCV3.4.1生成VC项目并进行编译

对于大多数程序猿,图像视频音频等的开发学习,其实最难的不是界面,也不是代码风格,而是算法。而要了解算法,有两条是必经之路,第一是对原理的理解,大部情况下,这是一个数学问题;第二条,就是对源码的解读,你必须 清楚地知道数学理论是如何变成代码,并最终产生想要的结果的。学习OpenCv,也是如此。不过从OpenCV提供的源码来看,跨平台确实考虑得比较全面。当然如果你习惯于其他操作系统,这些可能都不是...

2018-08-06 13:07:02 1903 7

原创 Visual Studio 2017下配置使用OpenCV3.4.1

安装OpenCV首先,到opencv.org上把opencv的windows包下载下来,我是一上去把就能下的几个全部down下来,免得以后要其他的还得再上来,如下,一个android包,一个ios包,windows下用的包就是这个:opencv-3.4.1-vc14_vc15.exe然后自己把这个包解压(安装)到你自己喜欢的目录,比如我自己的给目录名称就是D:\AOpencv,就是这个...

2018-08-06 10:07:21 5361

原创 windows工具:环境变量编辑器PathEditor2

老是要到属性里改变环境变量,一步步的好麻烦,找了个环境变量编辑器,http://www.softpedia.com/get/System/System-Miscellaneous/Path-Editor.shtml如果嫌网络慢,我做了个链接,可以去这里下载https://download.csdn.net/download/tanmx219/10585124本来想设置成0个下载券,...

2018-08-05 22:40:21 3383 2

转载 Android Studio manifest.java

//// Source code recreated from a .class file by IntelliJ IDEA// (powered by Fernflower decompiler)//package android;public final class Manifest { public Manifest() { throw new Run...

2018-08-05 14:59:14 611

原创 Android Studio报错:cannot resolve symbol recyclerview

Android Studio真是什么奇葩报错都有,今天建了个新项目,居然无缘无故出现:cannot resolve symbol recyclerview。自动提示中也没有RecyclerView,在java中导入包,import android.support.v7.widget.RecyclerView;也没有作用,还是不认。到stackover上找了一下,https://stac...

2018-08-04 18:13:28 8230 1

原创 OpenGL中frustum投影矩阵的推导

OpenGL中,有一个函数叫frustum,字面的意思是截锥体,也就是一个去掉头部的锥体,如下图所示,看了一下《计算机图形学》(英文名Computer Graphics with OpenGL)的透视投影推导过程,比较全面,各种情况都有描述。不过最近又参考了网上的一些资料,发现这里【1】的推导过程比较单纯直接。我们看一下,注意到上面这个图,观察者的位置相对于(0,0,0)这个点是在...

2018-08-04 10:46:54 8050

原创 OpenGL基本概念:齐次坐标(homogenouse coordinate)

问题的由来在处理透视图的时候,我们经常需要用到齐次坐标。回想一下我们初中和高中学习的坐标系,往往被称为迪卡尔坐标,也叫欧几里德坐标,这也是几何学中最基本的坐标。在该坐标系的诸多定律中,有一条就是:两条平行的直线永不相交。然而在图像处理中,我们通常用到的透视坐标系却不是这样的,在最远处,所有的(相互平行的)直线都会汇集到一点,如下图的铁轨那样相交,在透视学术语中,这个点常常称为灭点(va...

2018-08-03 22:14:55 2919

原创 Android Studio 报错:Could not find com.android.support:appcompat-v7:28.0.0-beta01.

报错内容如下,Could not find com.android.support:appcompat-v7:28.0.0-beta01.Searched in the following locations:file:/D:/AndroidSDK/extras/m2repository/com/android/support/appcompat-v7/28.0.0-beta01/app...

2018-08-02 23:05:21 22917 2

原创 Android Studio报错:ClassLoader referenced unknown。。。W/ResourceType: Failure getting entry for 。。。

首先,程序在虚拟机上一切正常,在真机调试时闪退,报错内容大致如下,I/System.out: waiting for debugger to settle...I/System.out: debugger has settled (1389)W/System: ClassLoader referenced unknown path: /data/app/com.spacesoftwares.d...

2018-08-01 22:20:21 8498 11

原创 Android Bitmap入门:getPixels的正确理解

说在前面的话图片处理,音频,视频处理,最复杂的就是算法。而在处理这些算法之前,最基本的功夫,就是你必须先深刻地了解自己所使用的平台,比如Android系统提供了哪些函数,这些函数的参数都有些参数,该如何使用这些函数。Bitmap也提供了getPixel函数,可以获取单独的一个像素的数据。不过如果你曾经有过图像开的经验就应该知道,真正进行图片处理时,对像素一个个进行读取写入等操作极少(取色器...

2018-08-01 13:02:44 8959 6

Ubuntu20.04+vscode快速调试ROS通用程序

博文:Ubuntu20.04+vscode快速调试ROS通用程序 运行演示视频。 参考地址:https://spacevision.blog.csdn.net/article/details/122799015 详细配置也可参考:https://github.com/RoboGnome/VS_Code_ROS,

2022-02-06

Gigabit Ethernet Auto-negotiation.pdf

PDF文件,英文版,关于网卡传输速率auto-negotiation(自动协商)的详细介绍,图文并茂

2020-09-17

NETFXSDK461.rar

找不到mscoree.lib就下载这个吧,如果不嫌麻烦就安装VS2019然后再安装.NET framework SDK,里面也有。很小的几个小东西。 下载分数不是我控制的,不知道为什么CSDN总是会自己修改这些下载分数,改得非常高

2020-08-25

VC++写的演示如何为应用程序写plugin插件的项目

用VC++ 写的一个应用程序,演示如何写plugin插件的。自己编译生成test*.dll后不要忘记拷贝到主程序的plugins文件夹下,否则用的就是旧版本。

2020-08-10

mxnet_v1.51-cpp_op.h

源码编译MXNet时生成的op.h文件,一般生成后在这个目录下面,如 apache-mxnet-151\cpp-package\include\mxnet-cpp 仅供演示,放这供大家参考

2020-07-09

bymc_libuv_1.34.2_source_code_analysis_v02.pdf

以uvCat为例讲解对Libuv 1.34.2 源码进行了流程上的讲,主要是帮助刚开始学习的快速入门 ---- 介绍可参考本贴:https://blog.csdn.net/tanmx219/article/details/104114883

2020-01-30

EmBitz_1.11.zip

embitz,一个很方便的ARM开发集成环境,免费,类似Keil MDK,自带编译调试工具;github上有一个附加的源码调试工具:eblink, https://github.com/EmBitz/EBlink。不过一般情况下,大家可能觉得还是jlink比较好用

2019-12-04

OpenCV_trainCascade汽车训练资料

一个汽车外形的训练资料,详情请参考博文:https://blog.csdn.net/tanmx219/article/details/82012519 及 https://blog.csdn.net/tanmx219/article/details/82022423 图片格式为pgm,看图工具可到SpaceSoftwares.com上下载

2018-10-27

Image processing fundamentals overview

Authors by Ian T. Young & Jan J. Gerbrands & Lucas J. van Vliet

2018-10-18

OpenCV多尺度检测实例

一个关于汽车多尺度检测实例,源码解析请参考 https://mp.csdn.net/postedit/82012519

2018-08-24

windows环境变量编辑器:patheditor2

windows环境变量编辑器,一个很方便的工具,有了他就不用老是跑到属性页面里去修改东西了。很简单的东西啦

2018-08-05

Android Bitmap.getPixels的正确理解演示源码

Android Bitmap.getPixels的正确理解演示源码,参考文章《Android Bitmap入门:getPixels的正确理解》

2018-08-01

实战Android:图片处理之ColorMatrix和Matrix实例

一个综合演示Matrix和ColorMatrix的例子(https://blog.csdn.net/tanmx219/article/details/81298671)

2018-07-31

Android开发通过BroadcastReceiver监听Home,电源Power,和音量变化Volume键

一个简单的Android按键监听程序,通过通过BroadcastReceiver监听Home,电源Power,和音量变化Volume键

2018-07-30

AccessbilityServiceTest

一个AndroidStudio中用AccessibilityService在后台捕获音量按键的简单实例。

2018-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除