vs2015+opencv2.4.13环境下使用 HoughLines 出错

SugarAnnie 2016-08-12 09:23:19

while (1)
{
Mat gray, edge;
video >> frame;
std::vector<cv::Vec2f> line;
cvtColor(frame, gray, CV_BGR2GRAY);
cv::Canny(gray, edge, 100, 200);
cv::HoughLines(edge, line, (double)1, (double)(CV_PI / 180), 100);
cout << "here" << endl;
imshow("video", frame);
int key = waitKey(1);
if (key == 27)
{
break;
}
}

上面是部分代码,while(1)只能执行一次就卡死在那,如果把 cv::HoughLines 那行注释掉就能正常运行了。大神们有遇到类似情况吗?貌似是vs2015和OpenCV2.4不兼容,用vs2013就没有问题!!有什么解决方法吗
...全文
368 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
SugarAnnie 2016-08-26
  • 打赏
  • 举报
回复
实测发现vs2015对opencv的某些函数支持不好,在电脑上配置了vs2015+opencv3.1.0,改成Ptr<BackgroundSubtractorMOG2> mog。
传奇小迷弟 2016-08-15
  • 打赏
  • 举报
回复
卡死在这有报错么? 没报错的话,可能只是因为canny找出来的边缘太多了,houghline计算慢
小灸舞 2016-08-15
  • 打赏
  • 举报
回复
VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
SugarAnnie 2016-08-13
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
老师说的非常对!!暂时改装vs2013解决了这个问题,待我按照您的方法试试! 由于我研究编程时间不长,所以还没有养成这些习惯!! 多谢老师指点!!
赵4老师 2016-08-13
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

24,853

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧