PariticalFilter在MFC上的运行,源代码公开
由于项目需要,进行过一段时间的 PariticalFilter 研究。主要的工作就是将网络上的Console代码和Mfc融合在一起,并且添加了Mfc端的控制功能。

#.
#.
#.
#.
);
);
sd ); , histo );
s );
v );
cvSplit( imgs, h, s, v, NULL );
; r ; c ;
}
cvReleaseImage( , inv_sum;
; i . ; i );
cvCopy( frame, tmp, NULL );
cvResetImageROI( frame );
histos );
normalize_histogram( histos );
cvReleaseImage( ;
particles ;
y ;
; j .;
particles[k].width ;
}
;
;
y ;
particles[k].x0 .;
particles[k].width ;
i ) .
#.
#.
.
#.
#.0000
., MIN( (., x ) );
y ., MIN( (., y ) );
s . ) . ) .;
pn.s ., s );
pn.xp ;
;
; i . ;
;
;
}
IplImage matimg(matSrc);
IplImage, r , w, h ) );
tmp );
cvCopy( img, tmp, NULL );
cvResetImageROI( img );
histo );
cvReleaseImage( ;
; i ; i ;
; i ; j ];
exit. . ,,));
}
{
CRect rect_ctr;
(this->GetDlgItem(IDC_CAM))->GetWindowRect(&rect_ctr);//获取Picture控件相对屏幕左上角的坐标,
ScreenToClient(rect_ctr);//获取Picture控件相对对话框客户区左上角的坐标
instant_position.x = point.x;
instant_position.y = point.y;
picture_ordinate_x = point.x - rect_ctr.left;
picture_ordinate_y = point.y - rect_ctr.top;//point获取的是鼠标相对对话框客户区左上角的坐标,减去rect_ctr.left和rect_ctr.top后,即为鼠标相对Picture控件左上角的坐标
if ((nFlags == MK_LBUTTON) && Is_LeftButton_Down)
{
::SetCursor(cross);
CClientDC dc(this);
CBrush *OldBrush;
OldBrush=(CBrush*)dc.SelectStockObject(NULL_BRUSH);
dc.SetROP2(R2_NOT);
dc.Rectangle(CRect(chosen_position,instant_position));
dc.Rectangle(CRect(chosen_position,point));
dc.SelectObject(OldBrush);
instant_position=point;
}
else
::SetCursor(arrow);
CDialogEx::OnMouseMove(nFlags, point);
}
void CGOMfcTemplate2Dlg::OnLButtonDown(UINT nFlags, CPoint point)
{
Is_LeftButton_Down = true;
::SetCursor(cross);
chosen_position = instant_position = point;
CDialogEx::OnLButtonDown(nFlags, point);
}
void CGOMfcTemplate2Dlg::OnLButtonUp(UINT nFlags, CPoint point)
{
if (Is_LeftButton_Down)
{
Is_LeftButton_Down = false;
::SetCursor(arrow);
CClientDC dc(this);
CPen* pOldPen=(CPen*)dc.SelectObject(&pen);
dc.MoveTo(chosen_position);
dc.LineTo(chosen_position.x,instant_position.y);
dc.LineTo(instant_position);
dc.LineTo(instant_position.x,chosen_position.y);
dc.LineTo(chosen_position);
//写到rect_res中区
int rect_x = min(chosen_position.x,instant_position.x);
int rect_y = min(chosen_position.y,instant_position.y);
int rect_w = abs(chosen_position.x - instant_position.x);
int rect_h = abs(chosen_position.y - instant_position.y);
rectStart = Rect(rect_x,rect_y,rect_w,rect_h);
}
CDialogEx::OnLButtonUp(nFlags, point);
}
PariticalFilter在MFC上的运行,源代码公开的更多相关文章
- Arduino可穿戴教程之第一个程序——上传运行程序(四)
Arduino可穿戴教程之第一个程序——上传运行程序(四) 2.4.5 上传程序 现在所有Arduino IDE的设置都完成了,我们就可以将示例程序上传到板子中了.这非常简单,只需要单击如图2.45 ...
- MFC上显示摄像头JPEG图片数据的两种方法
其一是借助opencv,其二是利用流对象. 方法一: CvMat *mat; ,,CV_8UC1); ,,CV_8UC1,JPEGBuf); /*初始化矩阵信息头,这里的JPEGBuf就是JPEG图像 ...
- iOS开发之使用Storyboard预览UI在不同屏幕上的运行效果
在公司做项目一直使用Storyboard,虽然有时会遇到团队合作的Storyboard冲突问题,但是对于Storyboard开发效率之高还是比较划算的.在之前的博客中也提到过,团队合作使用Storyb ...
- Windows OS上安装运行Apache Kafka教程
Windows OS上安装运行Apache Kafka教程 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在 ...
- [转].NET程序在windows操作系统上独立运行的技术要点
发现一个不错的网站,转载一篇文章方便查看 转自 http://www.linuxdot.net/bbsfile-3354 ===================================== ...
- 让MFC程序隐藏运行界面
在MFC中隐藏运行界面确实花花点功力. 针对对话框程序,一种不是很好地实现方法是在OnPaint函数中添加如下代码: CWnd::ShowWindow(SW_HIDE); 添加后执行会发现屏幕会闪烁一 ...
- 利用STM32F唯一96bit序列号实现反拷贝加密的源代码公开(转)
源:利用STM32F唯一96bit序列号实现反拷贝加密的源代码公开 //---------------------------------------------------------------- ...
- PowerShell执行脚本时“系统上禁止运行脚本”问题解决
PowerShell执行脚本策略错误 错误信息:PowerShell运行脚本错误--"系统上禁止运行脚本" 原因:默认执行策略为Restricted 解决:执行Set-Execut ...
- npm run dev 在Linux上持久运行
关于node.js应用程序如何持久运行,我在node.js服务端程序在Linux上持久运行用过. 这次主要是针对是一个vue.js应用程序. vue.js应用程序通常运行命令是npm run dev. ...
随机推荐
- 控制textbook输入字符
在KeyPress事件中假如如下代码此实例表示可输入数字退格和“.”. 具体字符KeyChar见连接 http://www.cnblogs.com/linji/archive/2012/10/24/2 ...
- xtrabackup数据库备份
xtrabackup备份 一.Xtrabackup概述 1.1.简介 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Ho ...
- -linux删除大量文件----rm,rsync
要在linux下删除海量文件,比如有数十万个文件,此时常用的rm -rf * 就会等待时间很长.这时我们可以使用rsync快速删除大量文件. 1.建立一个空目录 mkdir -p /tmp/rsync ...
- 建立一个属于自己的AVR的RTOS
建立一个属于自己的AVR的RTOS(序) 建立一个属于自己的AVR的RTOS(第一篇:函数的运行) 建立一个属于自己的AVR的RTOS(第二篇:人工堆栈) 建立一个属于自己的AVR的RTOS(第三篇: ...
- 绿色版Tomcat 启动 + 停止 + 随系统自动启动 - - 博客频道 - CSDN.NET
body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...
- source command not found in sh shell解决办法
在Ubuntu系统中执行脚本的时候突然出现错误"source command not found in sh shell" 这个其实在Ubuntu 当中 执行脚本默认的使用的是da ...
- iOS ZBar扫码简单实现
导入ZBarSDK文件并引入一下框架 AVFoundation.framework CoreMedia.framework CoreVideo.framework QuartzCore.framewo ...
- 《javascript语言精粹》——第4章函数
函数就是对象 [1].函数字面量即(函数表达式)包括四部分: 第一部分:保留字function: 第二部分:函数名称,可有可无: 第三部分:包围在一对小括号的一组参数,参数用逗号隔开: 第四部分:包围 ...
- 10.8.5如何升级(app store 出错 请稍后重试 100)
出现问题:苹果以前的老版本,OS X 10.8或是10.8.5在当年提示你升级,你又任性没升级的时候,拖过那阵,你再想升级,就是各种报复.进app store下载或是更新东西都是弹出app stpre ...
- STM32串口寄存器操作(转)
源:STM32串口寄存器操作 //USART.C /************************************************************************** ...