如何將cv :: Mat數據複製回sampleBuffer?將cv :: Mat複製到CMSampleBufferRef
我的場景如下: 我從pixelBuffer創建cv :: Mat進行地標檢測,並將地標添加到cv :: Mat圖像數據。我想將這個cv :: Mat複製到示例緩衝區中,並與地標一起顯示。
這可能嗎?
我DLIB實現這一點,但需要知道如何與CV ::墊做到這一點:
char *baseBuffer = (char *)CVPixelBufferGetBaseAddress(imageBuffer);
img.reset();
long position = 0;
while (img.move_next()) {
dlib::bgr_pixel& pixel = img.element();
long bufferLocation = position * 4; //(row * width + column) * 4;
char b = baseBuffer[bufferLocation];
char g = baseBuffer[bufferLocation + 1];
char r = baseBuffer[bufferLocation + 2];
dlib::bgr_pixel newpixel(b, g, r);
pixel = newpixel;
position++;
}
可能是的。還有幾個細節?一些代碼? – Miki
我按照這個[答](http://stackoverflow.com/a/12355675/3649485)將'CVImageBufferRef'轉換爲cv :: mat。 現在我想把這個cv :: mat放回樣本緩衝區。我知道如何使用dlib將像素複製回sampleBuffer,但不知道如何使用openCV執行此操作 dlib在下一個註釋中的示例代碼 – mosn
請將適當格式的代碼發佈到問題中。它在評論中不可讀 – Miki