我正在尝试使用 cvLoadImage 函数加载JPEG图像,但它失败了。我得到输出“图像未加载” (见下面的代码)。但是会出现一个窗口但没有图片。 当试图加载png图片时, cvLoadImage 操作成功,即图片呈现在窗口中。是否有我可能遗失的包裹或我做错了什么?

我在Ubuntu上使用openCV。

IplImage* img = NULL;

if( argc > 1 )
    img = cvLoadImage(argv[1], 1);

if(img == 0)
    printf("image not loaded \n")
有帮助吗?

解决方案

Jpeg在OpenCv下的加载很好,我刚检查了一下。检查你是否有

  1. 路径正确
  2. 您正在加载的图像实际上是jpeg(或opencv实际支持的某种格式。)

其他提示

实际上路径是正确的。我不知道我是否正在构建不正确的OpenCV:

一般配置============================================= ===

CXX:                      g++
CXXCPP:                   g++ -E
CPPFLAGS:                 
CXXFLAGS:                 
LDFLAGS:                  

Install path:             /usr/local

Debug flags                
Optimization flags        -DNDEBUG -O3 -g -march=pentium4 -ffast-math -fomit-frame-pointer
MMX/SSE/SSE2/SSE3:         -mmmx -msse -msse2 -msse3
OpenMP support:           -fopenmp
External BLAS & LAPACK:   no

HighGUI配置============================================= ===

Windowing system --------------
Use Carbon / Mac OS X:    no
Use gtk+ 2.x:             yes
Use gthread:              yes

Image I/O ---------------------
Use ImageIO / Mac OS X:   no
Use libjpeg:              yes
Use zlib:                 yes
Use libpng:               yes
Use libtiff:              no
Use libjasper:            no
Use libIlmImf/OpenEXR:    no

Video I/O ---------------------
Use QuickTime / Mac OS X: no
Use xine:                 no
Use gstreamer:            no
Use ffmpeg:               no
Use dc1394 & raw1394:     no
Use v4l:                  yes
Use v4l2:                 yes
Use unicap:               no

其他语言的包装=========================================

SWIG                      
Python                    no
Octave                    no

其他构建设置============================================

Build demo apps           yes

现在运行make ...

我已经重建了openCV,并在执行此操作时更改为root用户,而不是键入sudo。现在可以打开jpg文件。我可能早些时候在安装openCV程序的某处丢失了sudo,这导致了一些不匹配。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top