opencv源码debug方式

一、环境配置

  •  ① opencv源码编译,获得build/bin/Debug和build/lib
    • bin/Debug中有:opencv_world470d.dll和pdb
    • build/lib中有:opencv_world470d.pdb
    • 但这两个pdb文件大小不一样,内容不一样。
  • ② 自己的工程配置如下:主要是Include包含目录;可执行文件目录bin;lib目录
    • 这里的lib目录不是为了装入opencv_world470d.dll,而是导入pdb
    • 运行时缺opencv_world470d.dll,将bin/Debug下的opencv_world470d.dll复制到exe目录下
    • 主要是需要保证opencv_world470d.dll和opencv_world470d.pdb是一起编译产生的
    • 如果随便复制一个opencv_world470d.dll别的地方编译的,二者不一致就会无法进入源码。
    • pdb中有源码的路径,必须要保证一致!
  • ③ 如果不确定opencv_world470d.dll和opencv_world470d.pdb是一起编译产生的。可以将build/bin和build/lib全部删除,然后重新编译,重新编译需要半小时左右。然后再进行①和②的配置,这样比较保险。

 

 

#include <opencv2/imgproc.hpp>
#include <vector>


int main(int argc, char* argv[])
{
	int m_iWidth = 29440, m_iHeight = 512;
	cv::Mat m_mask = cv::Mat::zeros(cv::Size(m_iWidth, m_iHeight), CV_8UC1);

	std::vector<std::vector<cv::Point>> vecZoneDatas;

	std::vector<std::vector<cv::Point>> m_RoiContours;
	std::vector<cv::Point> tmp;
	tmp.push_back(cv::Point(1,1));
	tmp.push_back(cv::Point(100, 1));
	tmp.push_back(cv::Point(100, 100));
	tmp.push_back(cv::Point(1, 200));
	m_RoiContours.push_back(tmp);

	for (auto var : m_RoiContours)
	{
		vecZoneDatas.push_back(var);
	}

	cv::drawContours(m_mask, vecZoneDatas, -1, cv::Scalar::all(255), -1);

	return 0;
}


stackoverflow 怎么debug opencv 源码

  • 打开PdbInspector的exe,load加载opencv_world470d.pdb

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值