本文介绍了HighGUI从OpenCV 3.0.0 JAR中缺失的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编译OpenCV 3.0.0与Java支持。我的脚本是:

  mkdir / opt / opencv / opt / opencv / opencv-build 
cd / opt / opencv
git clone https://github.com/Itseez/opencv.git
cd / opt / opencv / opencv-build
export OPENCV_INSTALL_PATH = / opt / opencv
export FFMPEG_PATH = / opt / ffmpeg / ffmpeg_build / lib
export LD_LIBRARY_PATH = $ OPENCV_INSTALL_PATH / lib:$ FFMPEG_PATH:/ opt / opencv / opencv / 3rdparty / lib:$ LD_LIBRARY_PATH
export PKG_CONFIG_PATH = / opt / ffmpeg / ffmpeg_build / lib / pkgconfig
cmake28 -D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX =/ opt / opencv\
-D OPENCV_EXTRA_C_FLAGS = - DHAVE_CAMV4L -DHAVE_CAMV4L2\
-D WITH_OPENCL = OFF -D BUILD_SHARED_LIBS = OFF ../opencv
make
make install

在与 -D BUILD_SHARED_LIBS = OFF



当我想测试安装时,我发现没有Highgui类,没有路径。这是我的 opencv-300.jar org.opencv 文件夹内容:

  calib3d 
core
features2d
imgcodecs
imgproc
ml
objdetect

utils
video
videoio

在安装期间遗漏了什么?

解决方案

简短答案:Java中没有更多 HighGUI



Long One: HighGUI 中的功能已分为两个模块:


  • imgcodecs(imread / imwrite和朋友)。

  • 由于没有暴露给Java的GUI功能,因此不再需要在Java中有HighGUI模块。


    I was compiling OpenCV 3.0.0 with Java support. My script was:

    mkdir /opt/opencv /opt/opencv/opencv-build
    cd /opt/opencv
    git clone https://github.com/Itseez/opencv.git
    cd /opt/opencv/opencv-build
    export OPENCV_INSTALL_PATH=/opt/opencv
    export FFMPEG_PATH=/opt/ffmpeg/ffmpeg_build/lib
    export LD_LIBRARY_PATH=$OPENCV_INSTALL_PATH/lib:$FFMPEG_PATH:/opt/opencv/opencv/3rdparty/lib:$LD_LIBRARY_PATH
    export PKG_CONFIG_PATH=/opt/ffmpeg/ffmpeg_build/lib/pkgconfig
    cmake28 -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX="/opt/opencv" \
            -D OPENCV_EXTRA_C_FLAGS="-DHAVE_CAMV4L -DHAVE_CAMV4L2" \
            -D WITH_OPENCL=OFF -D BUILD_SHARED_LIBS=OFF ../opencv
    make
    make install
    

    as told in http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html with -D BUILD_SHARED_LIBS=OFF.

    And when I wanted to test installation I found out that there is no Highgui class and no path for it. Here are my opencv-300.jar org.opencv folder contents:

    calib3d
    core
    features2d
    imgcodecs
    imgproc
    ml
    objdetect
    photo
    utils
    video
    videoio
    

    Have I missed something during installation?

    解决方案

    Short Answer : There is no more HighGUI module in Java for 3.0 anymore.

    Long One : The functionality in HighGUI has been split into two additional modules:

    1. videoio (VideoCapture, VideoWriter).
    2. imgcodecs (imread/imwrite and friends).

    Since there's no GUI functionality exposed to Java, there is no need to have a HighGUI module in Java anymore.

    这篇关于HighGUI从OpenCV 3.0.0 JAR中缺失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

    07-30 14:49