上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 61 下一页
  2012年2月1日
摘要: int DrawArrowLine(HDC hDC, LPPOINT lpPointStart, LPPOINT lpPointEnd, double nArrowBorderLen, double xAngleInRadians, COLORREF cr){const double PI = 3.1415926;double xAngleLine = 0;if (lpPointStart->x == lpPointEnd->x)xAngleLine = PI / 2;else{xAngleLine = atan((double(lpPointEnd->y) - double 阅读全文
posted @ 2012-02-01 14:53 carekee 阅读(2468) 评论(0) 推荐(0) 编辑
  2012年1月19日
摘要: // 定义委托 private delegate void DelegateWriteResult(string file, bool result); // 与定义的委托签名相同的函数,操作主线程控件 private void WriteResult(string fileName, bool result) { if (result) { ListViewItem thisListItem = new ListViewItem(); thisListItem.ForeColor = Color.White; thisListItem.BackColor = Color.DarkGre... 阅读全文
posted @ 2012-01-19 11:20 carekee 阅读(747) 评论(1) 推荐(0) 编辑
摘要: 在 .NET Framework 2.0 版中,要实现线程调用带参数的方法有两种办法。第一种:使用ParameterizedThreadStart。调用 System.Threading.Thread.Start(System.Object) 重载方法时将包含数据的对象传递给线程。使用 ParameterizedThreadStart 委托不是传递数据的类型安全的方法,因为 System.Threading.Thread.Start(System.Object) 方法重载接受任何对象。这种方法不推荐使用,故在此不做详细介绍,具体用法参见:http://msdn2.microsoft.com/z 阅读全文
posted @ 2012-01-19 10:37 carekee 阅读(324) 评论(0) 推荐(0) 编辑
  2012年1月18日
摘要: //////////////////////////////////////////////////////////////////////////////////////////首先定义HWND g_hWnd; //定义一个窗口的句柄HHOOK g_hMouse; //鼠标的钩子过程HHOOK g_hKeyBoard; //键盘的钩子过程//////////////////////////////////////////////////////////////////////////////////////////鼠标钩子过程的回调函数HRESULT CALLBACK MouseProc(i 阅读全文
posted @ 2012-01-18 17:06 carekee 阅读(1887) 评论(0) 推荐(1) 编辑
  2012年1月17日
摘要: 下载源代码 一、什么是 WebService ?WebService 其实就是一个基于网络的应用程序,它向外部程序提供一定的调用接口。外部(远程)的程序,可以经由Web对其进行调用。 二、 WebService 的特性:1.由于 WebService 经由web服务器发布,所以比DCOM而言,可以顺利穿过防火墙。这也是 WebService 的优点之一,可以说, WebService ,为分布 式应用的开发,提供了一个很好的平台。2.对 WebService 的调用,是通过SOAP协议进行的。简单对象访问协议(SOAP)提供了标准的远程过程调用(RPC)方法来调用Web service。 而S 阅读全文
posted @ 2012-01-17 18:50 carekee 阅读(607) 评论(0) 推荐(0) 编辑
  2012年1月13日
摘要: c#在WinForm中重写ProgressBar控件(带%的显示)2009-05-14 13:13 #region 定义textProgressBar控件的类 namespace csPublish { [ToolboxItem(true)] class textProgressBar : System.Windows.Forms.ProgressBar { [System.Runtime.InteropServices.DllImport("user32.dll ")] static extern IntPtr GetWindowDC(IntPtr hWnd); [Sys 阅读全文
posted @ 2012-01-13 19:20 carekee 阅读(2299) 评论(0) 推荐(0) 编辑
  2012年1月12日
摘要: 窗体边框样式设为NONE private void Form1_Load(object sender, EventArgs e) { TransparencyKey = Color.White; Image BackgroundImage = Bitmap.FromFile("E:\\DDD.jpg"); BitmapRegion BitmapRegion = new BitmapRegion();//此为生成不规则窗体和控件的类 BitmapRegion.CreateControlRegion(this, new Bitmap("E:\\DDD.jpg" 阅读全文
posted @ 2012-01-12 11:45 carekee 阅读(3647) 评论(1) 推荐(0) 编辑
  2012年1月9日
摘要: //不让拖动和双击无反应 protected override void WndProc(ref Message m) { base.WndProc(ref m); if (m.Msg == 0x84 && m.Result == (IntPtr)2) //不让拖动标题栏 { m.Result = (IntPtr)1; } if (m.Msg == 0xA3) //双击标题... 阅读全文
posted @ 2012-01-09 15:00 carekee 阅读(217) 评论(0) 推荐(0) 编辑
  2012年1月6日
摘要: 第一种方法:CTime 和CTimeSpan ,例如: // example for CTime::operator +, - CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999 CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999 CTimeSpan ts = t2 - t1; // Subtract 2 CTimes ASSERT( ts.GetTotalSeconds() == 86400L ); ASSERT( ( t1 + ts ) == t2 阅读全文
posted @ 2012-01-06 09:49 carekee 阅读(4286) 评论(0) 推荐(0) 编辑
  2011年12月27日
摘要: 下载源代码 摘要: 随机数在实际运用中非常之多,如游戏设计,信号处理,通常我们很容易得到平均分布的随机数。但如何根据平均分布的随机数进而产生其它分布的随机数呢?本文提出了一种基于几何直观面积的方法,以正态分布随机数的产生为例讨论了任意分布的随机数的产生方法。 正文:一、平均分布随机数的产生 大家都知道,随机数在各个方面都有很大的作用,在vc的环境下,为我们提供了库函数rand()来产生一个随机的整数。该随机数是平均在0~RAND_MAX之间平均分布的,RAND_MAX是一个常量,在VC6.0环境下是这样定义的:#define RAND_MAX 0x7fff 它是一个short 型数据的最大值, 阅读全文
posted @ 2011-12-27 14:39 carekee 阅读(1198) 评论(0) 推荐(0) 编辑
  2011年12月23日
摘要: 多年来在从事视频监控技术研究的过程中,一直需要这样一个平台,一方面可以提供众多成熟的检测、跟踪、轨迹分析算法,另一方面具备良好的编程接口,这样就可以将自己的算法很方便的嫁接进这个系统,测试和对比各种算法的优劣性能。而OpenCV 视频监控模块(Video Surveilance)恰恰提供了这样一个功能强大的平台,在下文中简称为VS。从Intel OpenCV1.0开始,辅助库CVAUX中增加了VS模块内容,直至OpenCV2.1版本,该模块都相对稳定的存在。在OpenCV1.0和1.1版本中,VS的代码存在于CVAUX中,(OpenCV\cvaux\src\vs)。然而OpenCV提供相关资料 阅读全文
posted @ 2011-12-23 20:17 carekee 阅读(748) 评论(0) 推荐(0) 编辑
摘要: (1)跟踪器的建立:对新产生的目标,且宽(高)大于5时,建立跟踪器(2)Kalman滤波:用Kalman滤波器对目标当前的方位、大小做出预测目标特征矢量采用(x, y, dx, dy, w, h)六维矢量,观测矢量为(x, y, w, h) 系统状态转移矩阵: 1, 0, 0,0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1 观测矩阵: 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 阅读全文
posted @ 2011-12-23 20:16 carekee 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 如前面说到的,OpenCV VS提供了6组算法的接口,分别是:前景检测、新目标检测、目标跟踪、轨迹生成、跟踪后处理、轨迹分析,除了轨迹生成用于轨迹数据的保存以外,其他5个部分都是标准的视频监控算法体系中不可或缺的部分。 OpenCV在Blob_Tracking_Modules.doc文档中,提供了算法的关系图,如下。图中唯独缺少了轨迹分析部分,可能是因为在该文档形成的时候轨迹分析部分还没有完成。重新整理后如下。 下面针对VS算法体系中的各个算法接口进行介绍,并给出算法的参考文献。1 算法流程控制(CvBlobTrackerAuto) 整个视频监控算法流程的设置和数据的传递在接口类CvBlobT 阅读全文
posted @ 2011-12-23 20:16 carekee 阅读(501) 评论(0) 推荐(0) 编辑
摘要: OpenCV VS与普通OpenCV函数不同在于:普通cxcore、cv函数均是C函数,而VS是利用C++的接口、多态、继承等技术构建起来的体系,由一些类、结构、全局函数组成。所以要学习和使用VS,要有较强的C++基础。“勿在浮沙筑高台”,如果不懂接口、多态、继承等C++的基本技术,还是去恶补一下再回来。打开opencv.dsw工程,可以在CVAUX下看到许多结构和类定义,VS部件多数以CvBlob开头,如图所示。这么庞杂的数据结构和类,理清头绪并不是一件容易的事情。我简单的归纳了一个UML图,虽然有很多不完善,但是可以方便读者们从全局看清VS的架构。类似于MFC中的CObject,VS中的所 阅读全文
posted @ 2011-12-23 20:15 carekee 阅读(435) 评论(0) 推荐(0) 编辑
摘要: CvBlobDetector用于检测和判定当前帧中的Blob是否是新产生的目标,方法如下: 阅读全文
posted @ 2011-12-23 20:15 carekee 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 二值图像的空洞定义为与图像边界不相连的背景成分集合。这意味着与图像边界相连的背景成分补集的输出为空洞抑制后的图像,可以通过腐蚀重建实现。其中掩模图像等于输入图像,而标记图像为与输入图像具有相同边界并具有常数 的图像。该方法同样适用于灰度图像。二值图像 空洞填充灰度图像 空洞填充 函数:lhMorpFillHole说明:空洞的填充参数:src 输入图像dst 输出图像源码:void lhMorpFillHole(const IplImage* src, IplImage* dst){ IplImage *temp = cvCloneImage(src); double min, max; cvM 阅读全文
posted @ 2011-12-23 20:05 carekee 阅读(1902) 评论(0) 推荐(0) 编辑
摘要: 判断点在线的左边还是右边在构建三角网时是非常重要的以及两点p1(x1,y1),p2(x2,y2),判断点p(x,y)在线的左边还是右边。1.bool LeftOfLine(const ZCoord2D& p, const ZCoord2& p1, const ZCoord2D& p2){ double tmpx = (p1.x - p2.x) / (p1.y - p2.y) * (p.y - p2.y) + p2.x; if (tmpx > p.x)//当tmpx>p.x的时候,说明点在线的左边,小于在右边,等于则在线上。 return true;retur 阅读全文
posted @ 2011-12-23 15:42 carekee 阅读(13560) 评论(0) 推荐(2) 编辑
  2011年12月22日
摘要: 在许多应用中,需要去除所有与图像边界连接的目标。实际上,在进行目标特征计算时,这些小块往往是不完整的目标,特征的计算可能会有误差。利用输入图像作为掩模图像,输入图像与其边界交集作为标记图像,便可提取出与图像边界连接的目标。标记图像包含每一个与图像边界连接目标的种子,重建输出则为这些边界的目标。与图像边界连通目标的去除,可以扩展到灰度图像。二值图像 灰度图像 函数:lhMorpRemoveBoderObj说明:去除边界的连通区域参数:src 输入图像dst 输出图像源码:void lhMorpRemoveBoderObj(const IplImage* src, IplImage* dst).. 阅读全文
posted @ 2011-12-22 19:41 carekee 阅读(1677) 评论(0) 推荐(0) 编辑
摘要: 原始二值图像闭重建和黑顶帽重建(3*3RECT)函数:lhMorpRClose说明:形态学闭重建参数:src 输入图像dst 输出图像se 结构元素iterations产生标记图像所用的膨胀的次数源码:void lhMorpRClose(const IplImage* src, IplImage* dst, IplConvKernel* se = NULL, int iterations=1){ assert(src != NULL && dst != NULL && src != dst ); IplImage* temp = cvCreateImage(cv 阅读全文
posted @ 2011-12-22 19:40 carekee 阅读(460) 评论(0) 推荐(0) 编辑
摘要: 形态学方向梯度常用于探测目标的方向 原始二值网格图像 45度梯度垂直梯度(90度) 水平梯度(0度) 函数:lhMorpGradientDir 说明:形态学方向梯度参数:src 输入图像dst 输出图像angle线性结构元素的角度len线性结构元素的长度源码:void lhMorpGradientDir(const IplImage* src, IplImage* dst, unsigned int angle, unsigned int len ){ assert(src != NULL && dst != NULL && src != dst); IplCo 阅读全文
posted @ 2011-12-22 19:40 carekee 阅读(394) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16 17 18 19 20 ··· 61 下一页