Потребовалось на днях обрабатывать кадры с камеры (Использовалась QCamera) через OpenCV.
Да, OpenCV может сам захватывать фреймы, но в случае с Qt QCamera работает лучше и есть больше параметров (например выбо р формата YUV или MJPG).
Вот так выглядит конвертация:
QVideoFrame copy(frame);
if (frame.isValid() && copy.map(QAbstractVideoBuffer::ReadOnly)) {
Mat frameYUV=Mat(copy.height() + copy.height()/2, copy.width(), CV_8UC1, (void*)copy.bits() );
Mat frameRGB;
cvtColor(frameYUV, frameRGB, CV_YUV2BGRA_I420);
imshow("Video", frameRGB);
}
C камеры приходит QVideoFrame frame в формате YUV.
Вот и всё =)

1 comment
я хотел соединить 2 — 3 -4 камеры создать viewport при просмотре 4к картинки цифровое приближение выводило камеру в области viewport
если не затруднит можете дать свои мысли на стол для тех кто не видит алгоритмов похожих