您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 视频检测 智能交通
  所属分类: C++
  开发工具:
  文件大小: 12mb
  下载次数: 0
  上传时间: 2011-12-20
  提 供 者: csyin*****
 详细说明: minX = 10000; minY = 10000; maxX = 0; maxY = 0; for(int k=0; k<4; k++) { if( minX > m_orgLoop.Points[k].x) minX = m_orgLoop.Points[k].x; if( minY > m_orgLoop.Points[k].y) minY = m_orgLoop.Points[k].y; if( maxX < m_orgLoop.Points[k].x) maxX = m_orgLoop.Points[k].x; if( maxY < m_orgLoop.Points[k].y) maxY = m_orgLoop.Points[k].y; } orgW = maxX - minX; orgH = maxY - minY; if( minX<0 || maxX<=0 || orgW<=0 || minY<0 || maxY<=0 || orgH<=0 ) { AfxMessageBo x("虚拟线圈参数设置不符合要求,\r\n请关闭程序后重新设置..."); return; } //求线圈的中心轴 double x1 = (m_orgLoop.Points[0].x + m_orgLoop.Points[1].x)/2.0; double y1 = (m_orgLoop.Points[0].y + m_orgLoop.Points[1].y)/2.0; double x2 = (m_orgLoop.Points[2].x + m_orgLoop.Points[3].x)/2.0; double y2 = (m_orgLoop.Points[2].y + m_orgLoop.Points[3].y)/2.0; double d = (x1-x2)*(x1-x2) + (y1-y2)*(y1-y2); double sqd = sqrt(d); if( sqd == 0) { AfxMessageBox("虚拟线圈参数设置不符合要求,造成0为除数\r\n请关闭程序后重新设置..."); return; } cosa = (x1-x2)/sqd; //旋转角度的余弦,正弦 sina = (y2-y1)/sqd; double SrcX1 = -0.5*orgW; double SrcY1 = 0.5*orgH; double SrcX2 = 0.5*orgW; double SrcY2 = 0.5*orgH; double SrcX3 = -0.5*orgW; double SrcY3 = -0.5*orgH; double SrcX4 = 0.5*orgW; double SrcY4 = -0.5*orgH; double DstX1 = cosa*SrcX1 + sina*SrcY1; double DstY1 = -sina*SrcX1 + cosa*SrcY1; double DstX2 = cosa*SrcX2 + sina*SrcY2; double DstY2 = -sina*SrcX2 + cosa*SrcY2; double DstX3 = cosa*SrcX3 + sina*SrcY3; double DstY3 = -sina*SrcX3 + cosa*SrcY3; double DstX4 = cosa*SrcX4 + sina*SrcY4; double DstY4 = -sina*SrcX4 + cosa*SrcY4; newW = (int)(max(fabs(DstX4-DstX1), fabs(DstX3-DstX2))+0.5);//初始化裁切图象旋转后的新宽度 newH = (int)(max(fabs(DstY4-DstY1), fabs(DstY3-DstY2))+0.5);//初始化裁切图象旋转后的新高度 if( newW <= 0 || newH <= 0 ) { AfxMessageBox("裁切图象旋转后的新高度,宽度计算出现负值!"); return; } num1 = -0.5*newW*cosa - 0.5*newH*sina + 0.5*orgW; num2 = 0.5*newW*sina - 0.5*newH*cosa + 0.5*orgH; //原始线圈(矩形)的长(高)、宽 double xqH = sqrt( pow((double)m_orgLoop.Points[0].x-m_orgLoop.Points[3].x, 2) + pow((double)m_orgLoop.Points[0].y-m_orgLoop.Points[3].y, 2) ); double xqW = sqrt( pow((double)m_orgLoop.Points[0].x-m_orgLoop.Points[1].x, 2) + pow((double)m_orgLoop.Points[0].y-m_orgLoop.Points[1].y, 2) ); rcLoop.left = (LONG)((newW-xqH)*0.5); rcLoop.top = (LONG)((newH-xqW)*0.5); rcLoop.right = (LONG)((newW+xqH)*0.5); rcLoop.bottom = (LONG)((newH+xqW)*0.5); Invalidate(); ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: 智能交通
 输入关键字,在本站1000多万海量源码库中尽情搜索: