我有一個unsigned char*
緩衝區,其中包含一個jpeg圖像的數據。我想用C++和opencv顯示那個圖像。如果我這樣做:opencv從緩衝區中讀取jpeg圖像
Mat img(Size(640, 480), CV_8UC3, data);
namedWindow("image", 1);
imShow("image", img);
我得到一個嘈雜的像素混亂。
我想這是因爲數據是jpeg(帶有標題)。由於這種工作原理:
Mat imgbuf(Size(640, 480), CV_8UC3, data);
Mat img = imdecode(imgbuf, CV_LOAD_IMAGE_COLOR);
但因爲它是從哪個是基於GTK 2 highgui.h我不能使用imdecode功能,並在項目中,我使用GTK 3.
所以,我怎麼能顯示緩衝區數據?有沒有辦法在opencv中解碼除imdecode以外的jpeg圖像,如果這是問題。我真的不想重建與Qt opencv ...
其他建議?
(使用Linux)
你不能用'libjpeg'用於解碼,並用它做什麼的問題,那是什麼? – mmgp
@mmgp我會努力的libjpeg,只是覺得我可以做同樣的事情,不包括另一個庫。 – Matekk
如果你這樣做,opencv將不會加載jpeg圖像沒有'libjpeg',所以沒有包含其他庫。 – mmgp