Я пытаюсь преобразовать формат изображения OpenCV в формат изображения Dlib, используя cv_image, но получаю:
Нет шаблона с именем 'cv_image' в пространстве имен 'dlib'
вот файл .h:
#import <Foundation/Foundation.h>
#include <dlib/opencv.h>
#include <dlib/opencv/cv_image.h>
#include <opencv2/highgui/highgui.hpp>
#include <dlib/image_processing/frontal_face_detector.h>
#include <dlib/image_processing/render_face_detections.h>
#include <dlib/image_processing.h>
#include <dlib/gui_widgets.h>
using namespace dlib;
using namespace std;
using namespace cv;
NS_ASSUME_NONNULL_BEGIN
@interface dlibObject : NSObject
-(void) faceDetection: (cv::Mat*) frame;
@end
NS_ASSUME_NONNULL_END
вот файл .mm:
#import "dlibObject.h"
@implementation dlibObject
-(void) faceDetection: (cv::Mat*) frame{
frontal_face_detector detector = get_frontal_face_detector();
dlib::cv_image<dlib::bgr_pixel> cimg(frame); // here is the error
std::vector<dlib::rectangle> faceRects = detector(frame);
for ( size_t i = 0; i < faceRects.size(); i++ )
{
int x1 = faceRects[i].left();
int y1 = faceRects[i].top();
int x2 = faceRects[i].right();
int y2 = faceRects[i].bottom();
}
}
@end