Я читаю необработанные видеоданные из буфера чтения, используя
cv::Mat imgbuf(Size(640, 480), CV_8UC3, &mem[0], (640*3));
Эта переменная imgbuf
Я перехожу к алгоритму обнаружения лица, который распознает лицо и рисует прямоугольник вокруг лица. после этого я получаю что-то вроде
![output-without-resize-function](https://i.stack.imgur.com/KJtFn.png)
Я пытался с приведенным ниже кодом, где я выполняю операцию изменения размера перед передачей алгоритму обнаружения лица. с помощью этого метода он работает нормально. но без изменения размера я получаю заметный вывод с прямоугольником вокруг лица.
while(1)
{
unsigned char *mem = (unsigned char*)mmap(NULL, page_offset + len,
PROT_READ |PROT_WRITE, MAP_PRIVATE, fd, page_base);
cv::Mat imgbuf(Size(640, 480), CV_8UC3, &mem[0], (640*3));
cv::resize(imgbuf,imgbuf,(640,480)); //Dummy function to get the right output.
auto result = v->facedetection(imgbuf);
for (const auto &r : result.rects) {
cv::rectangle(imgbuf,cv::Rect{ cv::Point(r.x * imgbuf.cols, r.y *
imgbuf.rows),cv::Size{(int)(r.width * imgbuf.cols), (int)(r.height *
imgbuf.rows) } },0xff);
}
imshow("face-detection", imgbuf);
waitKey(1);
может кто-нибудь помочь разобраться с этой проблемой