
C/C++
wqvbjhc
这个作者很懒,什么都没留下…
展开
-
二值图像的边缘追踪(内边缘与外边缘)
二值图像的边缘追踪(内边缘与外边缘) 近段时间来,在学习图像处理的课程。使用Lab Windows/CVI为平台。自己学过一些C语言,不过对于CVI可是第一次接触,虽说它是C语言环境,可不是纯C的。举个例子:变量的定义不可以在switch...case语句里面。 对图像进行处理,首先要先将其二值化。二值化的关键是在于阈值的选择。CVI中利用IMAQ里的IPI_Threshold可以原创 2008-04-17 01:06:00 · 14492 阅读 · 7 评论 -
C和C++获取文件大小的方法总结
出处:http://hi.baidu.com/kofeffect/blog/item/cd040c2b2979d8fee6cd40c4.html1.MFC中的方法:(C++)CFileStatus status;CFile::GetStatus("D:\\test.txt",status);long lSizeOfFile;lSizeOfFile = status.m_size转载 2011-12-28 12:43:12 · 1770 阅读 · 0 评论 -
关于C++中如何判断文件,目录存在的若干方法
出处:http://www.cnblogs.com/project/archive/2010/12/02/1894494.html在我们平时的编程时,经常需要判断文件或者目录是否存在,相对来说判断文件的存在性比较简单,目录则比较复杂。下面就详细的介绍几种方法。 首先关于判断文件的存在性:一、ifstream在C++中,可以利用ifstream文件输入转载 2011-12-31 10:11:05 · 1295 阅读 · 0 评论 -
Code::Blocks与wxWidgets安装配置——基于C++的免费IDE开发平台
1、安装准备(此为windows环境下)首先电脑上要有c++的编译器。如mingw或visual studio。我的电脑上两个都有。配置过程大同小异,编译器要先装好。(这个IDE不自带编译器,推荐使用免费的GCC编译器——mingw)下载安装文件Code::Blocks的发行版:版本号就是它的发行年月,所以8.02版,就是08年2月份发布的,其实地相当于1.0版。Code::Blo转载 2011-01-04 10:34:00 · 2025 阅读 · 2 评论 -
opencv与wxwidgets冲突(第三方库jpeg,tiff,png,zlib所引起)
问题:opencv与qwxwidgets都静态链接到tiff,jpeg,png,zlib四个库,当opencv使用静态编译时,在wxwidgets的event事件中处理使用opencv读写jpg,tiff,png图片有时候会出错。原因是opencv读取图片的代码可能与wxwidgets冲突了(具体原因未深入研究)。我遇到的情况是读写jpg文件来出错,读写png,tiff文件正常。对比ope原创 2012-09-19 17:18:08 · 3108 阅读 · 0 评论 -
ubuntu12.04中opencv静态编译
ubuntu12.04中opencv静态编译ubuntu12.04中opencv静态编译1.12.04中没有了新立德,忍受不了软件中心的慢,所以安装了新立德apt-get install synaptic 2.安装gcc等C/C++编程相关工具sudo apt-get install build-essential 3.安装gtk+(opencv的界面显示就靠它了)原创 2012-09-24 16:00:52 · 9042 阅读 · 1 评论 -
【源代码】Image Deformation Using Moving Least Squares算法的实现
在参考https://code.google.com/p/imgwarp-opencv/的基础上,把mls图像变形算法进行了实现,但感觉效果不是很好。在此贴出源代码,希望有人其同探讨与对其改进。 原图像原创 2013-04-01 10:56:28 · 7239 阅读 · 12 评论 -
jsoncpp用法
JsonCpp 是一个C++用来处理JSON 数据的开发包。下面讲一下怎么使用JsonCpp来序列化和反序列化Json对象,以实际代码为例子。反序列化Json对象比如一个Json对象的字符串序列如下,其中”array”:[...]表示Json对象中的数组:{“key1″:”value1″,”array”:[{"key2":"value2"},{"key2":"value原创 2013-07-29 14:57:51 · 4566 阅读 · 2 评论 -
RapidXml使用方法
一、写xml 文件#include #include "rapidxml/rapidxml.hpp"#include "rapidxml/rapidxml_utils.hpp"#include "rapidxml/rapidxml_print.hpp"using namespace rapidxml;int main(){ xml_document<> doc;原创 2012-06-14 14:33:38 · 34344 阅读 · 11 评论 -
md5函数C语言实现
转自http://witmax.cn/c-md5-code.html,作者也是网上转载的,但没标明出处。网上找到的md5函数的代码,试了一下,可以用,记录一下。包括三个文件,依次如下:头文件md5.h#ifndef MD5_H#define MD5_Htypedef struct{ unsigned int count[2]; unsigned int stat转载 2011-12-26 11:39:06 · 21799 阅读 · 10 评论 -
用 C 语言编写 Windows 服务程序的五个步骤
出处:http://www.vckbase.com/document/viewdoc/?id=1474用 C 语言编写 Windows 服务程序的五个步骤原文:Yevgeny Menaker翻译:Northtibet下载源代码原文出处:Five Steps to Writing Windows Services in C摘要 Win转载 2011-11-25 14:15:37 · 2200 阅读 · 0 评论 -
串口类CSerialPort的简单用法
简单用法:1.定义成员: CSerialPort m_SerialPort; 2.初始化: m_SerialPort.SetBufferSize(1024,1024); m_SerialPort.SetWnd(m_hWnd); m_SerialPort.SetNotifyNum(DEF_IN_BYTE_SIZE); if (m_S转载 2011-11-20 16:49:32 · 8870 阅读 · 0 评论 -
字节对齐
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数转载 2008-05-09 00:18:00 · 944 阅读 · 1 评论 -
C与C++的区别
在很大程度上,标准C++是标准C的超集.实际上,所有C程序也是C++程序,然而,两者之间有少量区别.下面简要介绍一下最重要的区别. 在C++中,民,局部变量可以在一个程序块内在任何地方声明,在C中,局部变量必须在程序块的开始部分,即在所有"操作"语句之前声明,请注意,C99标准中取消了这种限制. 在C中,按如下方式声明的函数没有对函数参数进行任何说明; int func();原创 2009-04-24 15:23:00 · 39355 阅读 · 12 评论 -
[转载]VC轻松解析XML文件 - CMarkup类的使用方法
CMarkup xml; xml.Load("UserInfo.xml"); BOOL bFind = true; xml.ResetMainPos(); while (xml.FindChildElem("UserID");) { //此时接点还是父接点 CString strTagName = _T(""); CString strData = _T(""); strTagName = xml.GetChil转载 2010-09-16 14:42:00 · 4230 阅读 · 1 评论 -
vs2010中臃肿的ipch和sdf文件
<br />使用VS2010建立C++解决方案时,会生成SolutionName.sdf和一个叫做ipch的文件夹,这两个文件再加上*.pch等文件使得工程变得非常的庞大,一个简单的程序都会占用几十M的硬盘容量,可惜毕竟硬盘还没有廉价到免费的地步。<br />那么,该怎么解决呢?其实可以关闭它。方法:<br />Tools->Options->Text Editor->C/C++->Advanced->Disable Database,设置为True<br />但是这样的办法会产生另外的一些问题,可能会导致原创 2010-11-26 11:14:00 · 2121 阅读 · 1 评论 -
提取共生矩阵特征
计算灰度共生矩阵共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。灰度共生矩阵能反映出图象灰度关于方向、相邻间隔、变化幅度的综合信息。设f(x,y)为一幅二维数字图象,其大小为M×N,灰度级别为Ng,则满足一定空间关系的灰度共生矩阵为:P(i,j)=#{(x1,y1),(x2,y2)∈M×N|f(x1,y1)=i,f(x2,y2)=j}其中#(x)表示集合原创 2010-12-09 14:07:00 · 8681 阅读 · 2 评论 -
获取目标对象中心
<br />获取目标对象中心<br /><br /> 目标对象中心不等同于连通区域中心,一个连通区域内可能包括多个粘连目标对象。获取目标对象中心要比获取连通区域中心更为复杂,因为需要解决粘连部分的分割问题。<br /> 对二值图进行距离变换后,目标对象中心处的像素值具备局部最大特性。换而言之,在距离图像中的局部最大值中包含了全部的中心点。对局部最大值点的定义为:对于任何一个非零点,如果其像素值不小于其8领域的像素值,则该点为局部最大值点。<br /> 在局部最大值点中包含中心点和非中心点,如果能够确原创 2010-12-09 14:11:00 · 3680 阅读 · 4 评论 -
图像轮廓凹陷修补
图像轮廓凹陷修补<br /><br /> 轮廓凸外形,可以认为是一种不带限制条件的简单凹陷修补。考虑更为普遍的情况,目标对象总体上呈凸外形,而局部存在轻微凹陷。对于这类目标对象,如果存在非常严重的凹陷,通常是由于某种干扰因素造成的部分轮廓未被检测出来所致。对于此类情况的轮廓修复,其实就是一种带条件的凹陷修补。<br /><br /> 轮廓的凹陷程度可以用凹陷深度与凹陷跨度之比来描述。当凹陷程度不小于某个给定阈值时,对轮廓进行凹陷修补。<br /><br /> <br /><br /><br />#in原创 2010-12-09 14:17:00 · 5669 阅读 · 0 评论 -
图像轮廓缺陷修补
图像轮廓缺陷修补<br /><br /> 通过简单的二值化和边缘提取可以得到封闭的图像轮廓。但大多数边缘提取算子得到的轮廓都可能存在缺陷,即轮廓不封闭。如:Cannyl算子,通过调节两个阈值可以有效提取目标轮廓,但并不保证轮廓的封闭性,因此往往需要对轮廓进行进一步处理。可以使用闭运算等形态学操作来对轮廓进行处理,但作为像素点级别的形态学操作往往不能满足要求,如:两条轮廓线相距仅为一个像素,在进行闭运算操作时会使这两条轮廓粘连在一起。<br /> 图像轮廓修补仅需要对轮廓端点进行处理,而原创 2010-12-09 14:18:00 · 7695 阅读 · 0 评论 -
将自己写的经常复用的类封装成dll/lib的方法
如果你的工作长期与某个领域相关,比如说长期做直接体绘制(DVR)方面的开发,那么你可能经常使用自己的传递函数类,如果每一个工程你都把传递函数类的.h和.cpp文件添加进去会比较麻烦,其实,我们可以像使用opengl的库那样来用你自己的类,做法就是把你写好的类封装成dll,具体做法如下: 第一步:制作dll 利用VC6新建工程时选择win32 dynamic-Link Library(空的工程),然后添加头文件和cpp文件。假设你要封装的类的名成是TransferFunctio转载 2010-11-23 11:14:00 · 3230 阅读 · 0 评论 -
需要视频质量诊断,智能行为分析,人数统计的联系我
本人从事计算机视觉&机器学习方向的研究。为生活所迫,赚点生活费,出售自研算法代码。代码的性能说明如下:0. 所有代码都使用C++实现;提供的库为纯C库;跨平台,windows与linux平台都通用。1. 视频质量诊断库:能够检测视频帧(也支持单张图片)是否发生:过暗、过亮、偏色、模糊、噪声、条纹、部分被遮挡、无信号、PTZ、画面冻结10类视频故障项。2. 智能行为分析:能够分析视频是否原创 2015-05-12 19:39:18 · 3643 阅读 · 1 评论