opencv无法加载jp2图像文件

opencv cannot load jp2 image files

本文关键字:图像 文件 jp2 加载 opencv      更新时间:2023-10-16

我在Debian上使用opencv 2.3.1。以下代码无法加载给定的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光栅(sr、ras)在插件的帮助下(如果您自己构建库,则需要指定使用它们,但在我们默认提供的包中),您还可以加载图像格式,如JPEG(JPEG、jpg、jpe)、JPEG 2000(jp2-在CMake中以Jasper的代码命名)、TIFF文件(TIFF、tif)和便携式网络图形(png)。此外,OpenEXR也是一种可能性。

因此,请确保构建OpenCV以支持这种格式。