2014-09-10 1 views
0

UYVY 비디오 형식의 DVD 플레이어로 입력 소스가 있습니다 .UYVY 데이터를 입력으로 사용하고 비디오 프레임을 표시하는 Qt 응용 프로그램을 개발하고 싶습니다. Qt에서 v4l2 Linux 명령을 사용하여 캡처하고 비디오 프레임을 표시하는 Qt 위젯. Qt QImage 클래스 UYVY 형식을 받아들이지 않는 것 같아요 경우에만 RGB 받아들입니다. 그래서 어떻게 내 RGB 데이터를 변환 할? 다른 방법이 있습니까 ?? 감사합니다 ..Qt에서 uyvy 데이터 표시

답변

0

난 그냥 어쩌면 내가 내 수신에 전환 매트릭스를 RGB하는 YUV를 구현 사실

QVideoFrame cloneFrame(frame); 
cloneFrame.map(QAbstractVideoBuffer::ReadOnly); 
const QImage img(cloneFrame.bits(), 
       cloneFrame.width(), 
       cloneFrame.height(), 
       QVideoFrame::imageFormatFromPixelFormat(cloneFrame .pixelFormat())); 
... 
+0

사용 QVideoFrame :: imageFormatFromPixelFormat와 그에서 QImage로 변환하는 몇 가지 방법이 UYVY http://doc.qt.io/qt-5/qvideoframe.html 지원 QVideoFrame 발견 버퍼,하지만 내 기능이 꽤 느린, 나는 원하는 25fps 처리량을 얻을 수 없습니다. 어쩌면 QVideoFrame을 사용해보아야 할 것입니다. – DubSum2

+0

제 경우에는 GYSTBuffer에 UYVY 콘텐츠를 제공하는 gstreamer를 사용하고있었습니다. gstreamer 대문자를 format = BGRA로 변경하고 하나의 videoconvert 요소를 추가하고 Format_RGB32에 이미지 형식을 설정하고 방금 작업했습니다. 당신이 v4l2 용 gstreamer를 사용하고 있는지 나는 모른다. – nayana