से जेपीईजी छवि पढ़ें, मेरे पास unsigned char*
बफर है जिसमें एक जेपीईजी छवि का डेटा है। मैं उस छवि को C++ और opencv का उपयोग करके प्रदर्शित करना चाहता हूं। अगर मैं करता हूं:opencv बफर
Mat img(Size(640, 480), CV_8UC3, data);
namedWindow("image", 1);
imShow("image", img);
मुझे पिक्सल का शोर गड़बड़ मिलता है।
मुझे लगता है कि यह इसलिए है क्योंकि डेटा जेपीईजी (हेडर के साथ) है। क्योंकि यह काम करता है:
Mat imgbuf(Size(640, 480), CV_8UC3, data);
Mat img = imdecode(imgbuf, CV_LOAD_IMAGE_COLOR);
लेकिन मैं imdecode समारोह का उपयोग नहीं कर सकते हैं के रूप में यह highgui.h जो जीटीके 2 पर आधारित है से है, और अपने प्रोजेक्ट में मैं जीटीके का उपयोग 3.
तो, मैं कैसे कर सकते हैं बफर डेटा प्रदर्शित करें? ओपनसीवी में आईएमडीकोड के अलावा जेपीईजी छवि को डीकोड करने का कोई तरीका है, अगर यह समस्या है। मैं वास्तव में Qt के साथ opencv को पुनर्निर्माण नहीं करना चाहता ...
कोई अन्य सुझाव?
(लिनक्स का उपयोग करना)
आप डिकोडिंग के लिए libjpeg' उपयोग कर सकते हैं नहीं 'और इसके साथ किया जा सकता है? क्या उस के साथ समस्या है? – mmgp
@mmgp मैं libjpeg की कोशिश करेंगे, सिर्फ मैं कर सकता सोचा एक और लाइब्रेरी समेत एक ही चीज़। – Matekk
ओपनसीवी जेपीईजी छवि लोड नहीं करेगा अगर आप करते हैं 'libjpeg' नहीं है, इसलिए कोई अन्य लाइब्रेरी शामिल नहीं है। – mmgp