【Opencv_contribute】Bouding Box (ROI,一行代码解决框选交互,可以用来标定)

来源:互联网 发布:qq免费刷赞软件下载 编辑:程序博客网 时间:2024/06/06 03:45

惯例先放效果:



=============================================================


大前提是要会配置Opencv的contribute模块。


如果用的VS2015,直接在Nuget包里找,有个Opencv3.1的contribute模块


如果用的VS2017,把项目-平台工具集选成X140(如果没安装那我也没办法)


//如果不想用别人做好的,可以自己编译contribute模块,类似的参考我之前的博客: 地址


=====================================================================


先来段非常简洁的代码:

#include <opencv2/tracking.hpp>using namespace cv;int main(){Mat image = imread("test.png");Rect2d r = selectROI(image, false);imshow("ROI", image(r));cvWaitKey(-1); return 0;}
它能达到的是如下效果:


下面例子可以一张图框选多个,按ESC结束,也就是一开始放的例子

#include <opencv2/tracking.hpp>#include<vector>using namespace std;using namespace cv;int main(){Mat image = imread("timg.jpg");vector<Rect2d> rects;bool fromCenter = false;// 选择一组框,并且把交互界面的名字重命名为ImageselectROI("Image", image, rects, fromCenter);for (int i = 0; i < rects.size(); ++i)imshow("Image" + to_string(i), image(rects[i]));cvWaitKey(-1); return 0;}



运气好的话没准儿今天就能结束秋招了…





阅读全文
0 0