- 博客(234)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
原创 RANSAC算法注记
今天学习了一下RANSAC随机样本一致性算法,其在图像融合、特征点匹配方面有很强大的应用。网上已经有很多人写了关于这方面的文档,就不再造轮子了。特此罗列出来,以供后续参考。我的数学之美(一)——RANSAC算法详解 这篇文章很基本地讲述了RANSAC算法的基本概念。RANSAC算法原理与源码解析 本篇文章讲述了在opencv特征点匹配过程中ransac算法滤除误匹配的详细思路。其中讲到:Op
2016-11-04 21:56:28
1197
原创 卷积的循环矩阵求解方法
通常我们求解一维卷积或者二维卷积都是采用模板平移的方法,今天我们介绍一种新的求解方法,可以一次性求出所有的结果。一维卷积卷积定义对于两个长度分别为m和n的序列x(i)和g(i)有, h(i)=x(i)∗g(i)=∑jx(j)g(i−j)h(i)=x(i)*g(i)=\sum_{j}x(j)g(i-j) 上式给出了长度为N=m+n-1的输出序列。称为一维情况下的卷积公式。循环矩阵参考百度百科:
2016-10-24 12:08:25
13398
3
转载 离散卷积与自相关
本文章转载自:http://www.cnblogs.com/einyboy/archive/2012/12/30/2839633.html一、 定义离散信号f(n),g(n)的定义如下: N-----为信号f(n)的长度s(n)----为卷积结果序列,长度为len(f(n))+len(g(n))-1例:f(n) = [1 2 3];
2016-10-24 11:34:33
5993
原创 doxygen问题集锦
使用doxygen排版数学公式出错的解决方法参考:http://blog.csdn.net/huangbo10/article/details/46801949问题今天玩了一下doxygen,碰到一个问题! Undefined control sequence.l.77 $ y_{\mbox{test}} = \mathbb {E}[
2016-10-11 10:50:23
2864
转载 C++给函数传数组参数C++给函数传数组参数
C++给函数传数组参数在C++中,如果要给一个函数传入一个数组,一般都是传入两个参数一个数组指针和一个数组大小例:void print_1 (int n, int *datas ){ for (int i = 0; i { std::cout } std::cout }对这个函数,我们可以这样
2016-10-07 16:14:52
1284
转载 C++标准库与Java基础类对照表
一、集合类 对象的集合,指如链表,数组,队列这一类的数据结构。在C++标准库中把这些成为Container, 在Java中称为Collection。 C++STL常用Container: vector, list, map, set, queue, stack, priority_queueJava基础类:ArrayList, HashMap, HashSet
2016-10-07 12:13:07
2588
原创 雅可比旋转求解对称二维矩阵的特征值和特征向量
问题描述:给定一个矩阵,如下: A=[a11a21a12a22] A=\begin{bmatrix}a_{11}&a_{12}\\ a_{21}& a_{22}\end{bmatrix} 其中满足a12=a21a_{12}=a_{21}.也就是所谓的对称矩阵。那么如何求解此矩阵的特征值以及特征向量呢?这里我们要用到雅克比旋转。雅克比旋转Jacobi方法是求对称矩阵的全部特征值以及相应的
2016-09-25 23:32:07
9171
转载 MATLAB中floor、round、ceil、fix区别
Matlab取整函数有: fix, floor, ceil, round.具体应用方法如下:fix朝零方向取整,如fix(-1.3)=-1; fix(1.3)=1;floor,顾名思义,就是地板,所以是取比它小的整数,即朝负无穷方向取整,如floor(-1.3)=-2; floor(1.3)=1;floor(-1.8)=-2,floor(1.8)=1ceil,与floor相反,它的意思
2016-09-20 10:45:24
57019
原创 halcon相关的链接
论坛、培训halcon学习网:http://www.ihalcon.com/鸟叔机器视觉:http://bbs.szvbt.com/forum.php博客韩兆新的博客园majunfuLife and Codingzhaojun的博客風韻無聲骑蚂蚁上高速的博客小马_xiaoLV2小新识图程序园-程序员的世界章柯渊的博客 注:介绍了halcon与MFC混合编程!新浪博客搜
2016-09-19 10:54:01
2974
转载 很有用的cv牛人的网址和主要贡献
CV人物1:Jianbo Shi史建波毕业于UC Berkeley,导师是Jitendra Malik。其最有影响力的研究成果:图像分割。其于2000年在PAMI上多人合作发表"Noramlized cuts and image segmentation"。这是图像分割领域内最经典的算法。主页:www.cis.upenn.edu/~jshi/ 和 www.cs.cmu.edu/~jshi/
2016-09-19 10:20:38
1011
转载 基于HALCON的模板匹配方法总结
很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇《基于HDevelop的形状匹配算法参数的优化研究》文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需
2016-09-19 10:16:09
4594
原创 halcon模板匹配学习(二) 准备模板
如下,我们将介绍匹配的第一个操作:准备模板初始时刻,我们准备好参考图像,并对其做一定的处理,然后我们需要从参考图像中导出模板,也就是将参考图像裁剪成所谓的模板图像。获取模板图像可以通过设置ROI来完成。对于某些应用来说,也可以使用综合模板代替模版图像。综合模板既可以是综合创造的模板图像,也可以是一个XLD轮廓。裁剪参考图像,使之成为模板图像为了创建模板图像,我们需要从参考图像中选取ROI,并使用 r
2016-09-13 23:04:58
17218
原创 halcon模板匹配学习(一) Matching 初印象
什么是模板匹配呢?简单而言,就是在图像中寻找目标图像(模板),或者说,就是在图像中寻找与模板图像相似部分的一种图像处理技术。依赖于选择的方法不同,模板匹配可以处理各种情形下的变换,如照明、杂点、大小、位置以及旋转,甚至模版内部的相对移动。模版匹配的鲁棒性和灵活性都很高,而且很多参数可以自适应生成,只有极少的参数需要配置。在Halcon中,提供了各种不同的匹配方法。不同方法的选择依赖于图像数据以及要解
2016-09-12 20:50:40
14017
原创 灰度图像的8位平面分解
所谓灰度图像,即指8位256颜色的图像。将图像的每一位分别取出来,我们就可以将一幅图像分解开来,形成8幅图像。下面我们分别介绍使用matlab分解图像与使用halcon/c++分解图像的方法。matlab8位分解clc;clear all;A = imread('lena.tif');% 显示原始图像subplot(3,3,1);imshow(A);title('原始图像');
2016-09-01 13:43:21
25211
6
翻译 halcon/c++接口基础 之 控制参数
HALCON/C++可以处理各种不同类型的字母数字混合的控制参数,如下:离散数字(long)浮点数字(double)字符串(char*)控制参数的一个特殊形式是句柄,提供了途径去访问复杂的数据类型,像windows,图像获取设备,用于形状匹配的模型。实际上,在内部,句柄总是以离散数字(long)表示。HALCON/C++使用tuple表示控制参数的容器类。另外,tuple是多态的,可以包含各
2016-08-31 23:24:06
2783
翻译 halcon/c++接口基础 之 HALCON图像变量类
图像变量在HALCON/C++中,HObject是一个基类,可以表示图像变量。另外还有三种类继承自HObject.Class HImage 处理图像Class HRegion 处理区域Class HXLD 处理多边形Regions一个region是图像平面坐标点的集合。这样一个区域不需要被连通,而且可能还有好多洞。a region可以比实际的图像大。区域在HALCON中可以用所谓的行程编码实
2016-08-31 23:23:12
10990
翻译 halcon/c++接口基础 之异常处理
关于运行错误,HALCON/C++默认打印错误信息并且终止程序。然而在某些应用中,放宽这个法则可能更有用。比如,如果一个应用要求用户交互式地指定一个图像文件读取,如果因为用户不能拼错文件名而终止程序的话,会很不方便。因此,HALCON/C++允许集成你自己的错误处理代码。如下的章节将分别介绍面向对象的方法和面向过程的方法。面向对象的方法如果一个运行错误发生在面向对象的调用中,类HException的
2016-08-31 23:21:02
8946
翻译 halcon/c++接口基础 之内存管理
所有的HALCON类,不仅仅HImage,HRegion,HTuple,HFramegrabber等等,还有面向过程的方法中使用的Hobject,都可以使用默认的析构器自动释放内存。 ( see also section 2.4 “Destructors and Halcon Operators”))进一步地,当再一次构造对象,比如通过已经初始化的实例(see section “Construct
2016-08-31 23:19:18
7277
翻译 halcon/c++接口基础 之 析构函数和Halcon算子
所有的HALCON/C++类都提供了默认的析构函数用来自动销毁对应的内存。对于某些类,析构函数基于适合的算子:Windows: HWindow类的析构函数基于close_window关闭窗口。注意:算子本身不是析构器。你可以选择调用CloseWindow关闭窗口,并且使用OpenWindow再次打开它。Other Handle Classes: 其他句柄类的默认析构函数,如HShapeMod
2016-08-31 23:18:10
1374
翻译 halcon/c++接口基础 之 halcon初认识
从今天开始,开始更新博客,主要分享自己最近正在翻译的Halcon/C++教程。先给出第一篇文章,由于此文章,是用latex写的,直接导成html,保存在七牛云存储上,所以直接点击链接就看到,后面我将直接分享到csdn博客上,我也希望大家将自己的一些原创资料分享出来,为此我建了一个qq群 ,希望志同道合者加入。大家可以扫一扫,加群。 下面手指一点,请学习Halcon/c++接口基础。
2016-08-31 23:11:27
3733
原创 swap关于指针的使用
先看下面两个例子:#include // std::cout#include // std::swapint main() { int x = 10, y = 20; // x:10 y:20 int* p1 = &x; int* p2 = &y; std::swap(*p1, *p2);
2016-08-03 16:17:26
4316
原创 牛顿法与拟牛顿法,SDM方法的一些注记
SDM方法考虑一般额NLS问题: f(x)=minx||h(x)−y||2f(x)=min_x||h(x)-y||^2 这里x为优化参数,h为非线性函数,y是已知变量,如下是基于梯度的迭代公式: Δx=αAJTh(h(x)−y)\Delta x=\alpha AJ_h^T(h(x)-y) 这里α\alpha是步长,A是缩放因子,JhJ_h是h在当前参数x下的Jacobian值。各种优化方法不
2016-05-29 16:18:23
1904
原创 dlib人脸特征点对齐
dlib人脸特征点对齐前面我们介绍了使用dlib进行人脸检测,下面我们给出如何使用dlib进行人脸特征点检测。我们直接贴出代码。我们的代码包括如下几部分功能:检测单张图片检测一个视频检测一个camera 先给出代码:#include <dlib/image_processing/frontal_face_detector.h>#include <dlib/image_processing/
2016-05-13 17:15:42
8521
4
原创 fwrite,fread and fprintf,fscanf的一些使用体会
这周一直在完成一个任务,就是将训练出的多个model写成一个model。其中我们使用了c语言的读写方法,搞了一星期, 挖了很多坑,最终都铲平了。下面列举出若干有用的知识。 1.fwrite,fread VS fprintf,fscanf的区别 fwrite,fread 读写的时候,我发现不管使用FILE* pFile = fopen(“myfile.bin”, “wb”);无论是使用“wb”还是
2016-05-06 20:59:35
4891
转载 C++ limits头文件的用法(numeric_limits)
初学C++的时候,对这个模板很陌生,不知道它到底是做什么用的,今天拿起《C++标准程序库》,出现了它的讨论,所以决定好好研究一番。1. numeric_limits是什么?(A)《C++标准程序库》:一般来说,数值型别的极值是一个与平台相关的特性。C++标准程序库通过template numeric_limits提供这些极值,取代传统C语言,所采用的预处理常数。新的极值概念
2016-04-17 18:31:58
2238
转载 OpenCV坐标体系的初步认识
实验基础 本次实验通过一个简短的例子,主要来说明下面4个问题: 1. 坐标体系中的零点坐标为图片的左上角,X轴为图像矩形的上面那条水平线;Y轴为图像矩形左边的那条垂直线。该坐标体系在诸如结构体Mat,Rect,Point中都是适用的。(OpenCV中有些数据结构的坐标原点是在图片的左下角,可以设置的)。 2. 在使用image.at(x1, x2)来访问图像中点的值的
2016-04-17 18:21:46
1116
转载 OpenCV中的神器Image Watch
Image Watch是在VS2012上使用的一款OpenCV工具,能够实时显示图像和矩阵Mat的内容,跟Matlab很像,方便程序调试,相当好用。跟VS2012配合使用,简直就是一款神器!让我一下就爱上它了!下面介绍一些链接:1.Image Watch官网:http://research.microsoft.com/en-us/um/redmond/groups/ivm/imag
2016-04-17 18:05:32
1702
转载 变长参数
转载自:http://blog.csdn.net/tht2009/article/details/7019635 变长参数 设计一个参数个数可变、参数类型不定的函数是可能的,最常见的例子是printf函数、scanf函数和高级语言的Format函数。在C/C++中,为了通知编译器函数的参数个数和类型可变(即是不定的、未知的),就必须以三个点结束该函数的声明。// print
2016-04-10 10:28:29
615
转载 mutable、volatile的使用
(1)mutable 在C++中,mutable是为了突破const的限制而设置的。被mutable修饰的变量,将永远处于可变的状态,即使在一个const函数中,甚至结构体变量或者类对象为const,其mutable成员也可以被修改。struct ST{ int a; mutable int b;};const ST st={1,2};st
2016-04-10 10:20:51
741
原创 boost解析info文件
先给出info文件:parameters{ MAX_STAGES 4 MAX_DEPTH 3 MAX_NUMTRESS 5 MAX_NUMTHRESHS 500 MAX_NUMFEATS 1000,1000,1000,500,500,500,400,400 MAX_RATIO_RADIUS 0.3,0.2,0.2,0.15,0.12,0.10,0.0
2016-04-09 18:34:49
1707
转载 boost解析json文件
#include <boost/property_tree/ptree.hpp> #include <boost/property_tree/json_parser.hpp> #include <string>#include <iostream>using namespace std;const std::string file_path = "./test.txt";void g
2016-04-09 18:14:02
3967
原创 boost解析xml文件
前面我们介绍了xml文件,今天我们试着用boost库来解析xml文件。我们将举两个例子来说明怎么使用。来自boost官方的例子先看xml文件的内容:<debug> <filename>debug.log</filename> <modules> <module>Finance</module> <module>Admin</module>
2016-04-09 17:31:42
7135
转载 XML语法学习
本文章集合两篇博文而写,两篇博文地址: XML学习总结(二)——XML入门: XML基础<第一篇>一、XML简介XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据。XML文档以.xml为后缀。需要彻底注意的是XML是区分大小写的。 先从一个简单的XML例子来了解下xml基础:<strong><?xml version="1.0" encoding="utf-8" ?>
2016-04-09 16:33:35
1032
原创 使用Def文件导出dll
前面我们介绍了dll的生成,大多数是使用extern "C"__declspec(dllexport)+函数名的方法导出dll。其实我们还有另一种方法来导出dll。先介绍参考文献:1.dll导出声明相关2.VS2012中 C++创建DLL图解3.DLL中导出函数的两种方式(dllexport与.def文件)4 按序号而不是按名称从 DLL 导出函数5.模块定义
2016-04-04 14:47:42
4563
原创 使用extern "C"改善显式调用dll
extern "C"的简单解析 我们前面介绍了显式调用dll的方法,例如http://www.cnblogs.com/laogao/archive/2012/12/07/2806528.html ,其中在GetProcAddress第二个参数的填写煞费苦心,我们需要比较麻烦地使用vs自带的dumpbin查看dll的具体函数,即使后来可以使用MAKEINTRESOURCE
2016-04-04 11:10:36
3112
转载 VS中lib和dll
转载:http://www.cnblogs.com/Yogurshine/archive/2013/06/14/3136025.htmlLib文件先来说一说lib文件,C++中lib文件主要有两类,一种是静态的编译连接,叫做静态链接库,另一种是动态的编译链接,和Dll文件一起使用,在该小标题下,主要说一下静态链接库,另一种将在Dll文件中讲解。所谓的静态链接库,就是以.lib结
2016-04-04 10:12:55
1022
转载 c++显式加载dll并使用DLL的类
转载自:http://blog.163.com/tianjunqiang666@126/blog/static/8725911920121064573594/首先需要强调,当使用某个类时一般目的有二:实例化成对象或者继承它产生新类。对于前者,我们可以构造一个抽象类(java里的接口)来连接调用方和DLL。// Interface.h 公共文件////////////
2016-04-04 01:29:34
17703
1
转载 C++ dll的隐式与显式调用
转载自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0(或者更先进的版本)在VC\bin目录下提供了一个名为Dumpbin.exe的小程序(使用方法见VS自带工具:dum
2016-04-04 00:24:29
8464
转载 在C++中调用DLL中的函数
转载自:http://blog.sina.com.cn/s/blog_53004b4901009h3b.html 应用程序使用DLL可以采用两种方式:一种是隐式链接,另一种是显式链接。在使用DLL之前首先要知道DLL中函数的结构信息。Visual C++6.0(或者更先进的版本)在VC\bin目录下提供了一个名为Dumpbin.exe的小程序(使用方法见VS自带工具:dumpbin
2016-04-04 00:22:31
2005
test_demo.zip
2019-08-06
matlab_caffe_cpu_vs2015_matlab_2016_py35.zip
2019-06-23
doxygen安装工具
2015-11-08
2.46公式推导有误,应该改为
2014-12-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人