Я использую opencv 2.3.1 на Debian. Следующий код не может загрузить данный файл JPEG 2000.
#include "opencv/cv.h"#include "opencv/highgui.h"#include <vector>
#include <iostream>
int main()
{
IplImage* img_temp = cvLoadImage("delmeg.jp2", CV_LOAD_IMAGE_ANYCOLOR);
//IplImage* img_temp = cvLoadImage("delmec.jp2");
if(img_temp == NULL)
{
std::cout << "Can't load the image.." << std::endl;
return -1;
}
cv::Mat img(img_temp);
if (img_temp != NULL){
cvReleaseImage(&img_temp);
}
return 0;
}
Я использовал следующую команду для его компиляции:
g++ -Wall -g -I /usr/include/ testopencv2x.cpp -o testopencv2x -lopencv_core -lopencv_imgproc -lopencv_highgui
Кто-нибудь знает, что мне здесь не хватает?
Благодарю.
Я не знаю о 2.3.1, но вот что документация говорит о 2.4.3:
ЗаметкаOpenCV поддерживает форматы изображений Windows: растровые изображения (bmp), переносимые форматы изображений (pbm, pgm, ppm) и Sun raster (sr, ras). С помощью плагинов (вам нужно указать, чтобы использовать их, если вы собираете себе библиотеку, тем не менее, в пакетах, которые мы отправляем по умолчанию, вы также можете загружать форматы изображений, такие как JPEG (jpeg, jpg, jpe), JPEG 2000 (jp2 — в CMake под кодовым названием Jasper), файлы TIFF (tiff, tif) и портативная сетевая графика (png). Кроме того, OpenEXR также возможен.
Поэтому убедитесь, что вы собрали OpenCV для поддержки этого формата.
Других решений пока нет …