自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

机器视觉之家

致力于数字图像、音视频、海量数据智能分析提取工程化应用

  • 博客(20)
  • 资源 (7)
  • 收藏
  • 关注

原创 matlab特征提取之欧拉数

欧拉数是拓扑学中的范畴,在搜索这个词的时候我发现包括百度百科在内的说明都没有说清楚。我的理解就是欧拉数定义为E,他表示一个图像区域中的孔数H和连接部分数C的差,即E=C-H;在这里孔数好理解,难理解的就是所谓的“连接部分数C”,我的理解就是图像中的有多少个单独连接的部分,而其中的每一个部分都是链接在一块的,如下面的字母A,他的连接数就是1.使用bweuler函数可以计算出图像的欧拉数,但是有一

2012-08-31 16:17:18 9078

原创 vector排序

最近做的东西,要将vector 中的内容输出,结果发现有些文件被交替反复打开,所以就想吧vector 中的元素排序,学习中发现下面这篇文章总结的挺好的,分享一下也~C++中当 vector 中的数据类型为基本类型时我们调用std::sort函数很容易实现 vector中数据成员的升序和降序排序,然而当vector中的数据类型为自定义结构体类型时,我们该怎样实现升序与降序排列呢?有两种方法,

2012-08-31 09:45:45 1732

转载 opencv 车牌定位及分割

车牌识别大概步骤可分为:车牌定位,字符分割,字符识别三个步骤。细分点可以有以下几个步骤:(1)将图片灰度化与二值化(2)去噪,然后切割成一个一个的字符(3)提取每一个字符的特征,生成特征矢量或特征矩阵(4)分类与学习。将特征矢量或特征矩阵与样本库进行比对,挑选出相似的那类样本,将这类样本的值作为输出结果。下面是车牌识别的第一个步骤,opencv源代码中s

2012-08-30 16:31:38 8461 6

原创 opencv 显示最小面积的外接矩形,并求该矩形的长和宽以及四个角的位置

#include "cv.h"#include "highgui.h"#include #include int main(int argc,char** argv){ IplImage *src,*gray,*bw,*dst;    CvMemStorage* storage=cvCreateMemStorage(0); CvSeq* contour=0;

2012-08-30 16:06:17 10323 4

原创 opencv拟合直线并在屏幕上绘出

#include "stdafx.h"#include #include #include #include int main(){ IplImage *img=cvCreateImage(cvSize(500,500),8,3);//开辟500×500的8位3通道的图像内存空间。 CvRNG rng=CvRNG(-1);//产生随机数产生器的状态。 cvNam

2012-08-29 14:50:56 2284

转载 void及void指针含义的深刻解析

void的含义void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型。void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值。例如:int *pint;void *pvoid;pvoid = pint; /* 不过不能pint = pvoid; */如果要将pvoid赋给其他类型指针,则需要

2012-08-25 10:50:29 610

转载 OpenCV学习(6)--opencv中测量运行时间的函数

最开始的C接口中的是 cvGetTickCount()和 cvGetTickFrequency(),在程序段的开始和结束时两次使用cvGetTickCount(),然后将两次的差除以cvGetTickFrequency()后就可以获得程序段的以微秒us为单位的运行时间,不是很精确但是一般足够了。         到了2.x之后在命名空间cv中又多了几个函数,getTickCount(),get

2012-08-24 22:54:28 1451

转载 c++ vector

vector类为内置数组提供了一种替代表示,与string类一样 vector 类是随标准 C++引入的标准库的一部分 ,为了使用vector 我们必须包含相关的头文件  :#include 使用vector有两种不同的形式,即所谓的数组习惯和STL习惯。一、数组习惯用法1. 定义一个已知长度的 vector :vector ivec( 10 );  //类似数组定义int i

2012-08-24 22:20:52 1121

转载 C++ 迭代器失效原因

众所周知当使用一个容器的insert或者erase函数通过迭代器插入或删除元素"可能"会导致迭代器失效,因此很多建议都是让我们获取insert或者erase返回的迭代器,以便用重新获取新的有效的迭代器进行正确的操作:view plaincopy to clipboardprint?iter=vec.insert(iter);   iter=vec.erase(iter);

2012-08-23 19:35:06 1950

转载 CamShift算法,OpenCV实现(3):CamShift算法

转载地址:http://blog.csdn.net/houdy/article/details/1918281.原理在了解了MeanShift算法以后,我们将MeanShift算法扩展到连续图像序列(一般都是指视频图像序列),这样就形成了CamShift算法。CamShift算法的全称是"Continuously Apaptive Mean-SHIFT",它的基本思想是视频图像的所有帧作M

2012-08-23 18:59:35 924

转载 CamShift算法,OpenCV实现2-Mean Shift算法

转载地址:http://blog.csdn.net/houdy/article/details/175844这里来到了CamShift算法,OpenCV实现的第二部分,这一次重点讨论Mean Shift算法。在讨论Mean Shift算法之前,首先讨论在2D概率分布图像中,如何计算某个区域的重心(Mass Center)的问题,重心可以通过以下公式来计算:1.计算区域内0阶矩for

2012-08-23 18:57:43 1018

转载 CamShift算法,OpenCV实现1--Back Projection

转载地址:http://blog.csdn.net/houdy/article/details/175739CamShift算法,即"Continuously Apative Mean-Shift"算法,是一种运动跟踪算法。它主要通过视频图像中运动物体的颜色信息来达到跟踪的目的。我把这个算法分解成三个部分,便于理解:1) Back Projection计算2) Mean Shift算法

2012-08-23 18:55:27 883

转载 opencv图像结构与形状分析

OpenCV支持大量的轮廓、边缘、边界的相关函数,相应的函数有moments、HuMoments、findContours、drawContours、approxPolyDP、arcLength、boundingRect、contourArea、convexHull、fitEllipse、fitLine、isContourConvex、minAreaRect、minEnclosingCircle、

2012-08-21 23:42:21 1808

转载 opencv 连通区域的最小外接矩形

#include "cv.h"#include "highgui.h"#include #include //#include "otsu.h"int main(int argc,char** argv){ IplImage *src,*gray,*bw,*dst; CvMemStorage* storage=cvCreateMemStorage(0); CvSeq*

2012-08-21 23:12:28 11248

转载 OPENCV 行列投影

#include "stdafx.h"#include #include int _tmain(int argc, _TCHAR* argv[]){ IplImage * pImg=cvLoadImage("c://test.jpg",0); cvNamedWindow("ShowImage",1); cvNamedWindow("result",1); cvNamedWind

2012-08-18 17:00:47 1549

转载 opencv深入学习(5)—ROI区域

#include "stdafx.h"#include "highgui.h"#include "cv.h"#include using namespace std;using namespace cv;void main(){ IplImage *src=cvLoadImage("lena.jpg",-1);//读入图像 IplImage *dst; CvRe

2012-08-18 10:18:19 790

转载 opencv深入学习(4)—opencv2Mat各个元素的方位方法

内容来自《OpenCV 2 Computer Vision Application Programming Cookbook》OpenCV2 访问图像的各个像素有各种方法我们来用各种方法来实现减少图像的颜色数量color = color/div*div +div/2;若div为8,则原来RGB每个通道的256种颜色减少为32种。若div为64,则原来RGB每个通道的256种颜色

2012-08-17 17:36:23 1253

转载 opencv深入学习(3)-- Mat格式的几个参数以及几种元素存取方法的讨论

#include "stdafx.h"#include #include #include #include using namespace cv;using namespace std;#pragma comment(lib,"opencv_core220d.lib")#pragma comment(lib,"opencv_highgui220d.lib")int _t

2012-08-17 17:29:32 1259

转载 opencv深入学习(2)--Scalar类型

CvScalar定义可存放1—4个数值的数值,其结构体如下:typedef struct CvScalar{double val[4];}CvScalar;例如:CvScalar s;如果使用的图像是1通道的,则s.val[0]中存储数据如果使用的图像是3通道的,则s.val[0],s.val[1],s.val[2]中存储数据cvGet2D 获得

2012-08-17 16:50:54 7271

转载 opencv深入学习(1)--Mat主要成员变量

决心好好研究一下opencv2.x,正好现在论文也写完了,有一些时间,从头深入研究一下!先从基础结构cv::Mat开始,首先分析了一下Mat的主要的成员变量:下面的是Mat的声明,在core.hpp中:classCV_EXPORTS Mat{public: /* * functions */ enum { MAGIC_VAL=0x42FF0000

2012-08-12 11:02:45 1733

印刷体汉字的识别及其MATLAB实现(有源代码的)

非常好的印刷体汉字的识别及其MATLAB实现(有源代码的)

2011-11-21

基于OfficeOCR组件的文档图象检索研究

非常好的基于OfficeOCR组件的文档图象检索研究

2011-11-16

cximage图像库

非常好的cximage图像库,还有demo显示

2011-11-10

手把手教你玩转win7自带的xp虚拟机

非常详细的手把手教你玩转win7自带的xp虚拟机

2011-11-10

基于MATLAB的车牌识别研究

相当好的车牌识别源代码,配有解释。是初学者相当好的入门资料

2011-11-04

Introduction to Statistical Pattern Recognition

这本模式识别经典书籍,我从头到尾看过了一遍,感觉不错,特呈现给大家Introduction to Statistical Pattern Recognition Fukunaga, Keinosuke. - 2nd. - Elsevier Academic Press, 1999

2008-11-30

空空如也

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

TA关注的人

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