求助各位大佬:
本人是ffmpeg的新手,最近課程設計需要采集UVC紅外攝像頭的原始yuv資料,然后進行運算得出物體的溫度值。目前參考網上的代碼,用ffmpeg的av_read_frame函式抓取一幀原始影像。我想把AVPacket里面data指標對應的uint8_t資料讀到記憶體里面(單獨的記憶體區域,和AVPacket完全獨立),然后就可以對這一幀資料進行自定義的操作,同時也可以把資料寫到本地。
下面是我實際的代碼。pkt是AVPacket結構體的指標。 但出來的test.raw檔案大小就不太對,我期望是640 * 480 * 2的原始yuv資料,但實際大小卻超出了這個數值。請各位大佬幫我看看哪一步操作導致了這個問題。
ret = av_read_frame(ctx, &pkt); //將流中的資料讀取到AVPacket中
for (size_t i = 0; i < 640 * 480; i++) {
buf_pkt[i] = pkt.data[i];
ofstream rawFile;
rawFile.open("Test.raw");
for (size_t i = 0; i < i < 640 * 480; i++) {
rawFile << buf_pkt[i];
}
rawFile.close();
av_packet_unref(&pkt);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/14206.html
上一篇:讀取app.Config的appSetting時候總是報未將物件設定到參考實體
下一篇:數學證明2016很神奇: 2016=666+666+666+6+6+6 2016=888+888+88+88+8+8+8+8+8+8+8+8 2016=999+
