随笔分类 -  OpenCV

摘要:OpenCV的图像像素访问 OpenCV是基于C/C++语言的开源图像处理函数库,可用于实时处理图像的有关问题,最近在实践访问图像像素方面有些许感悟: 运用OpenCV访问图像像素有间接访问。直接访问、基于指针的访问、基于 c++ wrapper 的直接访问等手段,经过实验觉得基于指针的直接访问较简单高效,同时也更容易接受: 我们假设要访问第k通道、第i行、第j列的像素: 1.对于单通道字... 阅读全文
posted @ 2013-05-11 10:22 freedesert 阅读(233) 评论(0) 推荐(0)
摘要:OCR学习及tesseract的一些测试 分类: OCR 图像处理2012-07-25 18:20 1332人阅读 评论(0) 收藏 举报 最近接触OCR,先收集一些资料,包括成熟软件、SDK、流行算法。 1. 一个对现有OCR软件及SDK的总结,比较全面,包括支持平台、编程语言、支持字体语言、输出格式、相关链接等 http://en.wikipedia.org/wiki/List_of_... 阅读全文
posted @ 2013-05-02 16:12 freedesert 阅读(985) 评论(0) 推荐(0)
摘要:之前按照常规方式(http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.0/2.1)用Cmake和VS2008编译了OpenCV_SVN,都是生成动态链接库的,最近写的程序Release版需要静态连接库,于是边查Google边探索怎样生成和使用OpenCV的静态库。 一、参考《编译... 阅读全文
posted @ 2013-04-12 16:45 freedesert 阅读(831) 评论(0) 推荐(0)
摘要:OpenCV学习笔记(6)基于 VC+OpenCV+DirectShow 的多个摄像头同步工作 分类: 机器视觉2009-10-08 21:05 20094人阅读 评论(66) 收藏 举报 imagepropertiescamincludepreprocessorlinker 因项目需要采集2个摄像头的数据进行双目检测,一开始采用以下代码来测试: #include "stdafx.h"#i... 阅读全文
posted @ 2013-04-08 16:51 freedesert 阅读(1534) 评论(0) 推荐(0)
摘要:此错误经过测试发现只有环境不匹配才会出现。下面是我走过的弯路,希望引以为戒: 1、winxp+vs2005+opencv2.4.3出错,原因是2.4.3根本不支持vc9以下的编译器,如图: x86目录下只有vc9和cv10. 2、win7 64bit+32bit opencv +win32工程,失败过了 改成win7 64bit+64bit opencv+win32工程,还是... 阅读全文
posted @ 2013-01-15 22:33 freedesert 阅读(5700) 评论(0) 推荐(0)
摘要:#include "cv.h" #include "highgui.h" #include "stdafx.h" #include <ml.h> #include <iostream> #include <fstream> #include <string> #include <vector> using namespace cv; using ... 阅读全文
posted @ 2012-12-19 00:08 freedesert 阅读(910) 评论(0) 推荐(0)
摘要:cv::CascadeClassifier类在多次读取新版本xml模型时的错误及其修正 (2012-04-25 14:57:08) 转载▼ 标签: opencv 人脸检测 级联分类器 cascade classifier haar lbp it 分类: 无尽之海 在现在的OpenCV版本中,使用级联分类器做人脸检测的时候,有两种选择:一是使用老版本的CvHaarClassi... 阅读全文
posted @ 2012-12-19 00:05 freedesert 阅读(1125) 评论(1) 推荐(0)
摘要:opencv各版本之间区别 Opencv 1.0 以前的历史忽略... 1.0 (2006年 10月) 新功能/特征 1. General : ☆ Windows 安装包中加入了预编译的Python 模块 ☆ Borland C++(v5.6+) 新增了makefiles (参考 _make\make_all_bc.mak) 2. CV: ☆ 添加... 阅读全文
posted @ 2012-11-16 23:57 freedesert 阅读(6054) 评论(0) 推荐(1)
摘要:这里定义一个函数ecvOutputMatrix,用于打印CvMat的元素。下面有两个例子。 例一在Debug时有误,而在Release时没有问题,这由CV_MAT_ELEM的定义可见,其中有assert表达式,使得CV_MAT_ELEM在Debug情况下只能应用于单通道矩阵,实际上在Release情况下CV_MAT_ELEM还是可以应用于多通道矩阵的。 鉴于CV_MAT_ELEM的缺点,在例二... 阅读全文
posted @ 2012-10-28 15:25 freedesert 阅读(3326) 评论(0) 推荐(0)
摘要:OpenCV运动检测跟踪(blob track)框架组成模块详解 在..\opencv\doc\vidsurv文件夹中有三个doc文件,Blob_Tracking_Modules、Blob_Tracking_Tests、TestSeq,其中Blob_Tracking_Modules必须需要详读的。 “FG/BG Detection” module performsforegroun... 阅读全文
posted @ 2012-09-20 11:06 freedesert 阅读(775) 评论(0) 推荐(0)
摘要:otsu算法选择使类间方差最大的灰度值为阈值,具有很好的效果 算法具体描述见otsu论文,或冈萨雷斯著名的数字图像处理那本书 这里给出程序流程: 1、计算直方图并归一化histogram 2、计算图像灰度均值avgValue. 3、计算直方图的零阶w[i]和一级矩u[i] 4、计算并找到最大的类间方差(between-class variance) vari... 阅读全文
posted @ 2012-09-07 20:06 freedesert 阅读(513) 评论(0) 推荐(0)
摘要:http://blog.csdn.net/housisong/article/category/325273?viewmode=contents HouSisong的专栏 http://blog.csdn.net/yang_xian521?viewmode=contents 迭代的是人,递归的是神 http://blog.csdn.net/crzy_sparrow?viewmode=con... 阅读全文
posted @ 2012-09-04 18:25 freedesert 阅读(211) 评论(0) 推荐(0)
摘要:void MatNDReadAndSet() { int M = 192; int N = 168; int K = 7; int size[] = { M, N, K }; CvMatND* mXOrigin = cvCreateMatND( 3, size, CV_32FC1 ); cvSetZero( ... 阅读全文
posted @ 2012-08-21 21:17 freedesert 阅读(220) 评论(0) 推荐(0)
摘要:之前在CSDN上看到一篇博文,收获很大,故摘抄下来。程序分为几个模块:1.前景检测模块(CvFGDetector虚类):实现前景检测,2.团块检测模块(CvBlobDetector虚类):实现运动物体(团块)的的检测3.团块跟踪模块(CvBlobTracker虚类):实现运动物体跟踪4.团块运动轨迹产生模块(CvBlobTrackGen虚类):实现的功能与模块名字同(下同)5.团块轨迹后处理模块(CvBlobTrackPostProc虚类)6.团块轨迹分析模块(CvBlobTrackAnalysis虚类)7.以及处理流程模块(cvBlobTrackerAuto虚类):此模块可看成胶水,集成上面 阅读全文
posted @ 2012-08-16 10:45 freedesert 阅读(752) 评论(0) 推荐(0)
摘要:综述: OpenCV有针对矩阵操作的C语言函数. 许多其他方法提供了更加方便的C++接口,其效率与OpenCV一样. OpenCV将向量作为1维矩阵处理. 矩阵按行存储,每行有4字节的校整. 分配矩阵空间: CvMat* cvCreateMat(int rows, int cols, int type);type: 矩阵元素类型. 格式为CV_<bit_depth>(S|U|F)C<number_... 阅读全文
posted @ 2012-08-07 14:10 freedesert 阅读(993) 评论(0) 推荐(0)
摘要:cvCreateStructuringElementEx 创建结构元素 IplConvKernel* cvCreateStructuringElementEx( int cols, int rows, int anchor_x, int anchor_y, int shape, int* values=NULL ); cols 结构元素的列数目 rows 结构元素的行... 阅读全文
posted @ 2012-07-27 21:29 freedesert 阅读(2118) 评论(0) 推荐(0)
摘要:在OpenCV中某些高级形态学变换用cvMorphologyEx函数完成,包括开运算,闭运算,标准形态梯度,白顶帽,黑顶帽运算。但是本博主不推荐使用该函数。 通过查看cvMorphologyEx的源代码,可以发现,在执行开、闭等运算,在进行第二步形态学腐蚀和膨胀时,该函数仍然采用与第一步相同的结构元素进行。这种方法在针对一般对称的结构元素情况是正确的,但是当结构元素为自定义的非对称结构元素时,结果... 阅读全文
posted @ 2012-07-27 21:21 freedesert 阅读(404) 评论(0) 推荐(0)
摘要:#include <cv.h> #include <highgui.h> #define affine #ifdef affine int main() { CvPoint2D32f srcTri[3], dstTri[3]; CvMat* rot_mat = cvCreateMat(2,3,CV_32FC1); CvMat* wa... 阅读全文
posted @ 2012-07-27 18:38 freedesert 阅读(224) 评论(0) 推荐(0)
摘要:camshift利用目标的颜色直方图模型将图像转换为颜色概率分布图,初始化一个搜索窗的大小和位置,并根据上一帧得到的结果自适应调整搜索窗口的位置和大小,从而定位出当前图像中目标的中心位置。分为三个部分:1--色彩投影图(反向投影):(1).RGB颜色空间对光照亮度变化较为敏感,为了减少此变化对跟踪效果的影响,首先将图像从RGB空间转换到HSV空间。(2).然后对其中的H分量作直方图,在直方图中代表了不同H分量值出现的概率或者像素个数,就是说可以查找出H分量大小为h的概率或者像素个数,即得到了颜色概率查找表。(3).将图像中每个像素的值用其颜色出现的概率对替换,就得到了颜色概率分布图。这个过程就 阅读全文
posted @ 2012-07-11 16:52 freedesert 阅读(422) 评论(0) 推荐(0)