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

dlib extracting chip from object detector

我正在使用 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));
    }
    

    上面的代码片段突出显示了检测,但我想在 "win.add_overlay()" 上标记检测到的标签并提取芯片(检测到的区域)并另存为图像。

  1. 你应该看看这个例子:http://dlib.net/face_landmark_detection_ex.cpp.html

dlib函数extract_image_chips是从img中提取chip的方法

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