- 博客(139)
- 资源 (5899)
- 收藏
- 关注
原创 OpenCV轮廓检测
最近再次用到了opencv轮廓,在这里结合作者冰山一角的博客(http://www.cnblogs.com/slysky/)以及自己的体会在此稍加说明。其程序主要参见冰山一角的Blog,遗憾的是代码是OpenCV1.0写的,等有时间再用2.4.2改写一篇。 对于轮廓的相关数据结构表示和几本操作(查找轮廓,画轮廓),可参见前面两片关于轮廓的例程,在这里不多讲。 对于查找轮廓我们一般要对图像
2013-05-31 15:57:16 6370 2
转载 OpenCV画轮廓的外界圆矩形椭圆等
#include #include #include #include using namespace std; #pragma comment(lib,"cv.lib") #pragma comment(lib,"highgui.lib") #pragma comment(lib,"cxcore.lib") int main()
2013-05-31 15:51:34 19517 3
转载 OpenCV函数cvFindContours
提取轮廓在OpenCV里有一个函数 cvFindContours :int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour,int header_size=sizeof(CvContour),int mode=CV_RETR_LIST,int method=CV_CHAIN_APPROX_SIMP
2013-05-31 15:46:47 76692 5
原创 OpenCV数据结构CvMemStorage
1、动态内存存储及操作函数 CvMemStorage typedef struct CvMemStorage { struct CvMemBlock* bottom;/* first allocated block */ struct CvMemBlock* top; /* the current memory block - top of the stack */ struct CvM
2013-05-31 15:43:21 2570
转载 OpenCV图像的轮廓的匹配
一个跟轮廓相关的最常用到的功能是匹配两个轮廓.如果有两个轮廓,如何比较它们;或者如何比较一个轮廓和另一个抽象模板.矩比较两个轮廓最简洁的方式是比较他们的轮廓矩.这里先简短介绍一个矩的含义.简单的说,矩是通过对轮廓上所有点进行积分运算(或者认为是求和运算)而得到的一个粗略特征.通常,我们如下定义一个轮廓的(p,q)矩:在公式中p对应x纬度上的矩,q对应y维度上的矩,q对应y维度上的矩,阶数表示对应的
2013-05-31 15:37:29 40524 1
转载 OpenCV图像的轮廓
查找轮廓轮廓到底是什么?一个轮廓一般对应一系列的点,也就是图像中的一条曲线.表示的方法可能根据不同情况而有所不同.有多重方法可以表示曲线.在openCV中一般用序列来存储轮廓信息.序列中的每一个元素是曲线中一个点的位置.关于序列表示的轮廓细节将在后面讨论,现在只要简单把轮廓想象为使用CvSeq表示的一系列的点就可以了.函数cvFindContours()从二值图像中寻找轮廓.cvFindConto
2013-05-31 15:34:45 26839 7
转载 OpenCV的序列数据结构
序列是内存存储器中可以存储的一种对象.序列是某种结构的链表.OpenCV中,序列可以存储多种不同的结构.你可以将序列想象为许多编程语言中都存在的容器类或容器类模版(如C++中的vector).学列在内存被实现为一个双端队列(deque).因此序列可以实现快速的随机访问,已经快速删除顶端的元素,但是从中间删除元素则稍慢些.1.数据结构seq数据结构如下#define CV_TREE_NODE_FIE
2013-05-31 15:28:05 6938
转载 OpenCV图像的内存存储
OpenCV使用内存存储器(memory storage)来统一管理各种动态的内存.内存存储器在底层被实现为一个有许多相同大小的内存块组成的双向链表,通过这种结构,OpenCV可以从内存存储器中快速的分配内存或将内存返回给内存存储器.1.数据结构cvMemStorage结构体定义typedef struct CvMemStorage { int signature; C
2013-05-31 15:20:50 6988
转载 OpenCV简单亮度校正功能实现
今天找到了个简单亮度校正功能的方法感觉效果还可以,使用于简单背景,代码如下int _tmain(int argc, _TCHAR* argv[]){ IplImage* src; // 第一条命令行参数确定了图像的文件名。 char* filename = (char*)"C:\\Users\\chenchao\\Desktop\\结晶\\25.bmp"; if( (src = cvLo
2013-05-31 15:17:08 4373 1
原创 OpenCV图像的矩阵操作
图像的矩阵操作主要由一下函数实现矩阵和图像的基本操作函数名称描述cvAbs计算数组中所有元素的绝对值cvAbsDiff计算两个数组差值的绝对值cvAbsDiffs计算数组和标量差值的绝对值cvAdd两个数组的元素级的加运算cvAdds一个数组和一个标量的元素级的相加运算cvAddWeighted两个数组的元素的加权相加运算(alpha融合)cvAvg计算数组所有元素的平均值cvAvgSdv计算数组
2013-05-31 15:08:05 5954
原创 OpenCV播放视频并控制位置
cvGetCaptureProperty是我们需要使用到的获取视频属性的函数。double cvGetCaptureProperty( CvCapture* capture, int property_id );capture 视频获取结构。property_id 属性标识。CV_CAP_PROP_POS_MSEC - 影片目前位置,为毫秒数或者视频获取时间戳CV_CAP_PROP_POS_FR
2013-05-31 15:04:14 14247 1
转载 OpenCV中寻找轮廓函数cvFindContours的使用说明以及序列cvSeq的用法说明
http://blog.163.com/qingyu_1984/blog/static/1444145032013014104222956/OpenCV中寻找轮廓函数cvFindContours的使用说明以及序列cvSeq的用法说明 cvFindContours(tour_buf,storage, &contour,sizeof(CvContour), CV_RETR_EXTERNAL, CV_C
2013-05-31 14:23:33 29027 6
转载 计算机视觉领域的一些牛人博客,超有实力的研究机构等的网站链接
提示:本文为笔者原创,转载请注明出处:blog.csdn.net/carson2005以下链接是本人整理的关于计算机视觉(ComputerVision, CV)相关领域的网站链接,其中有CV牛人的主页,CV研究小组的主页,CV领域的paper,代码,CV领域的最新动态,国内的应用情况等等。打算从事这个行业或者刚入门的朋友可以多关注这些网站,多了解一些CV的具体应用。搞研究的朋友也可以从中了解到很多
2013-05-31 14:10:57 4060
转载 OpenCV中一个连通域处理函数
作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处。连通域处理函数的原型:void ConnectedComponents(Mat &mask_process, int poly1_hull0, float perimScale, int number = 0, Rect &bounding_box = R
2013-05-31 14:03:41 10148 1
转载 视频基本术语
I帧,P帧和B帧: I 帧 对此画面的内容进行完整压缩,只有此帧的数据完全记载此画面的内容。此帧类似于JPEG。 P 帧 与其前面的I帧的比较差分, P帧只记录了差分信息。相对于I帧具有较高的压缩率。 B 帧 与其前后的I, P帧的比较差分,B帧只记录了差分信息。与P帧比较则具有更高的压缩率。 码率: 码率是指每秒码流中经过的比特数。此处所指码流即MPEG文件。 一般情况下,MPE
2013-05-30 11:26:45 1902
转载 开源日志系统 - NDC(Thread-specific Data)
首先我们先了解一下log4cplus中嵌入诊断上下文(Nested Diagnostic Context),即NDC。对log系统而言,当输入源可能不止一个,而只有一个输出时,往往需要分辩所要输出消息的来源,比如服务器处理来自不同客户端的消息时就需要作此判断,NDC可以为交错显示的信息打上一个标记(stamp), 使得辨认工作看起来比较容易些,呵呵。这个标记是线程特有的,利用了线程局部存储机制,称
2013-05-30 11:25:56 2458
转载 vc6 使用 log4cplus 1.0.2 输出毫秒配置
log4cplus 1.0.2输出日志的时候可以输出毫秒级,但是按照如下的设置%D{%Y-%m-%d %H:%M:%S,%q},却不输出。后来经过源码的测试发现size_t len = ::strftime(buffer, BUFFER_SIZE, fmt.c_str(), &time); 这行代码执行后%q也便没了。感觉是设置的问题。后来看其他的设置和偶来的灵感使用如下的设置%D{%Y-%m-%
2013-05-29 17:03:03 2217
转载 log4cplus使用
一、简介log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期; 你可以选择将信息输出到屏幕、文件、NT event log、甚至是远程服务器;通过指定
2013-05-29 16:30:12 1988
转载 log4cplus内存泄漏起因之一 结构体字节对齐 log4cplus结构体使用的是8字节对齐
int main(){ string commonLayout = "%d{%Y-%m-%d %H:%M:%S %Q} | %p | %t | %m [%l] %n"; string logPath = "d:\\testlog.txt"; std::auto_ptr layout(new PatternLayout(LOG4CPLUS_TEXT(commonLayout)));
2013-05-29 16:28:05 3490
转载 C++实现生产guid唯一号应用于日常程序文件
C++实现生产guid唯一号在日常软件开发中,我们经常需要一个唯一标识来标识一个对象或编码文件,下面是C++实现的方法,其中sgi_log_t.h头文件定义在log4cplus应用 -日志管理类接口文章中有说明,为了更好的记录生产的guid;#include "stdafx.h"#include #include #include "sgi_log_t.h"using namespace
2013-05-29 16:20:25 3345
转载 开源日志系统log4cplus
log4cplus是C++编写的开源的日志系统,功能非常全面,用到自己开发的工程中会比较专业的,:),本文介绍了log4cplus基本概念,以及如何安装,配置。### 简介 ###log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统.受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度
2013-05-29 16:19:09 2027
转载 封装Log4cplus后不能记录行号的问题
版权声明请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。 封装Log4cplus后不能记录行号的问题在使用Log4cplus的时候,在配置文件中配置了%l,就是记录日志信息所在的文件和行号。我们可以直接LOG4CPLUS_ERROR(logger,LogMsg);来进行日志记录了。这样日志信息里面就会有我们日志信息所
2013-05-29 16:16:22 2573
转载 日志操作利器log4cxx 分享
资料出处:http://saupb.blog.163.com/blog/static/4712417820112951932781/前言:log4cxx的配置文件完全和log4j相同,但是比较别扭的地方就是log4j使用com.aa.bb这样组织类,用在log4cxx中多少有点别扭(无论如何也不会有人在命名空间中嵌套那么多)。http://erera.net/blog/log4cxx.html日志
2013-05-29 16:15:19 3585
转载 让Log4CPLUS每个CPP记一个日志文件
http://blog.csdn.net/tingsking18/article/details/4471784版权声明请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。1. 写一个头文件,"mylog.h",如下:#pragma once#include #include #include #include
2013-05-29 16:14:02 2712
转载 c/c++资源(源码、开发工具、开发库)
原帖地址:http://blog.csdn.net/cnsword/article/details/4176636开发工具:1、VIM 骨灰级玩家专属2、emacs 骨灰级玩家专属3、code::blocks 入门级推荐4、codelite 入门级首选5、eclipse+CDT 如果你经常用eclipse就直接装个cdt的插件吧6、netbeans 习惯netbeans的首选7、anjuta
2013-05-29 16:11:55 1848
转载 log4cplus使用帮助文档基础详解
下载 可从网站http://log4cplus.sourceforge.net上去下载 log4cplus 1.0.4,具体地址http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/安装 本地只有一个vs2005的工程,我的是vs2003的,所以要搞定工程的问题,去下个CMake很轻松就搞定你在工程上的问题。基础1.
2013-05-29 16:10:27 3961
转载 日志系统log4cplus的配置与使用
——————log4cplus简介————————log4cplus是C++编写的开源的日志系统,前身是java编写的log4j系统受Apache Software License保护。作者是Tad E. Smith。log4cplus具有线程安全、灵活、以及多粒度控制的特点,通过将信息划分优先级使其可以面向程序调试、运行、测试、和维护等全生命周期; 你可以选择将信息输出到屏幕、文件、NT eve
2013-05-29 16:03:51 5035 2
转载 log4cpuls在vc2010上编译的问题
安装原文:http://blog.csdn.net/eclipser1987/article/details/6904301例子:#include #include using namespace log4cplus; int main(int argc, char* argv[]) { BasicConfigurator config; c
2013-05-29 16:02:52 3663
转载 VC6 使用 log4cplus 1.0.2 输出毫秒配置
log4cplus 1.0.2输出日志的时候可以输出毫秒级,但是按照如下的设置%D{%Y-%m-%d %H:%M:%S,%q},却不输出。后来经过源码的测试发现size_t len = ::strftime(buffer, BUFFER_SIZE, fmt.c_str(), &time); 这行代码执行后%q也便没了。感觉是设置的问题。后来看其他的设置和偶来的灵感使用如下的设置%D{%Y-%m-%
2013-05-29 16:01:53 1955
转载 在 log4cplus 中记录毫秒
尽管log4cplus的说明中,可以用%q来显示毫秒,不过至少在v1.0.2中,这样是不行的~~~ 跟了一下,发现是一个小小的bug,解决起来似乎有点麻烦,那就跳过去:在时间格式中,将%q写成 %%q,就可以了
2013-05-29 15:58:46 2325
转载 log4c 如何使用,以及如何自定义Logout
我在使用log4c 记录日志的时候, 使用标准的dated 时打印的时间是格林威治时间 也就是比我们的时间晚了8个小时;于是阅读源码, 依葫芦画瓢的添加了一个新的layout------------dated_local 本地时间; 于是要添加两个文件.c 和.h 文件; 文件实现不难;主要是不太熟悉MAKEFILE的更改; 后来学习了下面的文章;http://blog.csdn.net
2013-05-29 15:58:09 2460
转载 Log4c学习笔记
1.Log工具简单比较Log4cpp & Log4CPlus:C++的日志库,可移植移性相对差些Log4c:C的日志库,基本上都是一些纯c的东西,移植性较好2.Log4c的基本概念Log4c中有三个重要的概念, Category, Appender, Layout。 Category用于区分不同的日志,在一个程序中我们可以通过Category来指定很多的日志。 Appdender用于描述输出流
2013-05-29 15:55:51 2215
转载 在新窗口启动控制台程序,并且最小化
STARTUPINFO *si = new STARTUPINFO[nProcNum]; PROCESS_INFORMATION *pi = new PROCESS_INFORMATION[nProcNum]; int nCurNum = 0; string cPath; EnterCriticalSection(&m_mapCs); std::vector::iterator
2013-05-29 15:54:52 3840
转载 基于LGPL开源项目 Log4cpp安装与使用
Log4cpp是一个开源的C++类库,它提供了在C++程序中使用日志和跟踪调试的功能。使用log4cpp,可以很便利地将日志或者跟踪调试信息写入字符流、内存字符串队列、文件、回滚文件、调试器、Windows日志、syslog和远程syslog服务器中。 1、Log4cpp简介 Log4cpp是个基于LGPL的开源项目,移植自Java的日志处理跟踪项目log4j,并保持了API上的一致。其类似的
2013-05-29 15:52:31 1729
转载 log4cplus的一些问题
希望用log4cplus写日志,但发现log4cplus的控制台,似乎无法输出中文,总是被截断按网上提示在输出日志前执行std::locale::global(std::locale(""));但发现还是不行,这样一来配置文件都无法读取了经过调试才发现,log4cplus不支持utf8格式的配置文件,用记事本把配置文件另存为ANSI格式的这下就可以输出中文了另外由于是结合QT开发的,在编译log4
2013-05-29 15:50:21 2476 1
转载 VS* 之VC 常见编译运行错误 积累
1.#define LOG4CPLUS_STATIC ->1#include ->2#include #include #include 注意,在改版本的时候有的时候会在不知不觉中搞乱了 ->1和->2的顺序,导致编译的错误。当心了。不然找了n久你都可能找不出答案。 2.#include "stdstringt.h"#import "C:\Program Files\Co
2013-05-29 15:49:40 1901
转载 C++ 库
基础类1、 Dinkumware C++ Library参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。2、 Rogu
2013-05-29 15:47:59 3148
转载 阅读log4cplus源代码过程中的小知识点整理
开始阅读log4cplus源代码,这个库规模不大,但作者的C++功底不错(至少我个人认为),而且更新的相当频繁,作为学习C++的实际分析对象不错。log4cplus源代码中用到了Singleton、Factory Method、Bridge、Observer等等Pattern,还有Pimpl机制、引用计数机制等等,非常值得总结学习。不过,这篇文章,主要用来记录,阅读代码过程中的C++小知识点,偶有
2013-05-29 15:46:37 3401
转载 开源日志系统log4cplus
原文地址,原作者是分成7个部分的: (一) http://www.cppblog.com/tx7do/articles/11715.html (二) http://www.cppblog.com/tx7do/articles/11716.html (三) http://www.cppblog.com/tx7do/articles/11717.html
2013-05-29 15:44:32 2989 1
转载 log4cplus源码分析
1【引题】虽然从本科起就学的C++,然后在工作的2年时间中也不断的在用C++写代码,虽然基本的语法和一些常用的库函数已经滚瓜烂熟,可是总觉得自己写的代码还不是很专业,特别是看到那些老外们写得代码,从设计,到编码风格,再到各种编程技法的使用有很多都是值得学习和领悟的。于是,就决定静下心来找点开源的代码来研习。因为LOG4CPLUS代码量不是很大,而且功能也不是非常复杂,不就是记个日志么,呵呵(不过,
2013-05-29 15:43:07 6044 2
qt-win-noncommercial-msvc-3.2.1
2014-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人