dlib从物体探测器中提取芯片

时间:2017-11-07 12:19:24

标签: c++ dlib

我使用dlib进行object detection,使用HOG + SVM完成标记和训练数据集,它能够检测到对象,但现在

  1. 我需要从图像中提取芯片
  2. 我想在win_overlay上为检测到的区域添加标签。 我在这里工作的代码片段,我搜索了这两个,但我找不到对象检测。

    typedef scan_fhog_pyramid<pyramid_down<6> > image_scanner_type;
    image_scanner_type scanner;
    
    object_detector<image_scanner_type> detector;
    deserialize(argv[2]) >> detector;
    array2d<unsigned char> img;
    image_window win;
    load_image(img, "test.jpg");
    std::vector<rectangle> dets = detector(img);
    if (dets.size() > 0) {
    win.clear_overlay();
    win.set_image(img);
    win.add_overlay(dets, rgb_pixel(255, 0, 0));
    }
    

    上面的片段是突出显示检测,但我想标记检测到的是&#34; win.add_overlay()&#34;并提取芯片(检测到的区域)并保存为图像。

1 个答案:

答案 0 :(得分:0)

  1. 您应该看一下这个例子:http://dlib.net/face_landmark_detection_ex.cpp.html
  2. dlib函数extract_image_chips是从img中提取芯片的方法

    1. 在这种情况下:我通常使用OpenCV来执行此操作。从dlib对象检测器获取矩形后。将其转换为OpenCV cv :: Rect。创建一个文本并显示所有内容。