opencv HoughLinesP 触发断点,200分求解

redfires redfires 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
写了个视频直线检测的程序,用定时器回调函数OnTimer处理视频,用的是VS2010和opencv249,在XP上能顺利运行。
后来把程序转到WIN7 64位上运行,一运行就自动退出。
就一条条调试,发现问题出在HoughLinesP ,只要程序中有HoughLinesP ,一运行就自动退出,单步调试发现,当一帧处理完,下一次处理时,总是报触发一个断点,没有HoughLinesP ,就运行正常。
不知道怎么解决,困扰很久了,高分求解。

程序如下:
void CMoveTargetDetectDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值

if(3==nIDEvent)//GMM的定时函数
{
//Mat mask,backgroundImage;
video>>m_frame;

width=m_frame.rows;
height=m_frame.cols;
numframe++;

if (m_frame.empty())
{
ClearWindow();
SavedAllResult=false;
KillTimer(3);
return;
}
else
{
Mat CannyImg;

Canny(m_frame, CannyImg, 140, 250, 3);

Mat DstImg;

cvtColor(CannyImg, DstImg, CV_GRAY2BGR);

vector<Vec4i> Lines;

HoughLinesP(CannyImg, Lines, 1, CV_PI / 360, 170,50,55);

int len=Lines.size();

long *length=(long *)malloc(len*sizeof(long));
double* angle=(double*)malloc(len*sizeof(double));

for (size_t i = 0; i <len; i++)
{
//line(DstImg, Point(Lines[i][0], Lines[i][1]), Point(Lines[i][2], Lines[i][3]), Scalar(0, 0, 255), 2, 8);
length[i]=sqrt(double((Lines[i][0]-Lines[i][2])*(Lines[i][0]-Lines[i][2]))+double((Lines[i][1]-Lines[i][3])*(Lines[i][1]-Lines[i][3])));
//angle[i]=(Lines[i][1]-Lines[i][3])/(Lines[i][0]-Lines[i][2]+0.000001)*180/3.1415926 ;
angle[i]=(Lines[i][1]-Lines[i][3])/(Lines[i][0]-Lines[i][2]+0.000001);

}
......
}
}
}

...全文

相关推荐

Opencv2.4.9函数HoughLinesP分析

Opencv2.4.9中的HoughLinesP函数是一种概率霍夫变换(Probabilistic Hough Transform)的应用,用于在图像中检测直线,特别是处理大量边缘点时能有效降低运算量

weixin_38502929

OpenCV 3.0 实现锦鲤图像质量分级与价值评估

图像质量评估是机器视觉在农业与水产业落地的关键基础能力,其核心在于将人眼可感知的纹理、边缘、色彩等物理特征转化为可量化、可复现的数字指纹。基于DCT中频分析与HOG方向梯度的双模态特征提取,结合L*a*b空间光照归一化和ROI标准化预处理,构建出轻量、可解释、无需GPU的本地化评估pipeline。该方法规避了深度学习黑箱缺陷,突出OpenCV 3.0在资源受限场景下的工程鲁棒性,适用于养殖质检、电商品控、水族馆入库等对实时性、可调试性与部署成本敏感的实际场景,尤其适配中小型生产单元的边缘端视觉升级需求。

weixin_33901926

C++OpenCV3源代码HoughLinesP函数用法

### C++ OpenCV3 源代码 HoughLinesP 函数用法详解#### 一、引言在计算机视觉领域,边缘检测是一项基础而重要的技术。

zz_ll9023one

python+opencv实现霍夫变换检测直线

可以通过 pip 命令安装 OpenCV:`pip install opencv-python`。- 准备测试图像:选择一张包含直线的图像作为测试对象。

weixin_38627826

opencv求解区域的内接矩形

OpenCV中的内接矩形求解OpenCV提供了多种方法来求解内接矩形,包括基于最小外接矩形的方法、基于中心扩散法的方法等。在本文中,我们将介绍基于中心扩散法的方法,该方法可以快速准确地求解内接矩形。

weixin_38612527
评论 4
收藏 已收藏
分享
返回顶部
redfires
图形处理/算法 19,463 成员 50,678 内容