Java OpenCV 3.0.0 JAR中缺少HighGUI

Java OpenCV 3.0.0 JAR中缺少HighGUI,java,c++,opencv,clojure,Java,C++,Opencv,Clojure,我在用Java支持编译OpenCV 3.0.0。我的剧本是: 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/li

我在用Java支持编译OpenCV 3.0.0。我的剧本是:

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\u SHARED\u LIBS=OFF中所述

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

calib3d
core
features2d
imgcodecs
imgproc
ml
objdetect
photo
utils
video
videoio

我在安装过程中是否遗漏了什么?

昨天,我在介绍结束时找到了我问题的答案:

OpenCV Java API不包装highgui模块功能 取决于Qt(例如,如果要创建 windows,并在其中显示图像,同时从中与OpenCV交互 REPL,现在你可以自己做了。你可以使用Java 荡秋千来填补空白


简短回答:Java for 3.0中不再有
HighGUI
模块

长篇:已将
HighGUI
中的功能分为两个附加模块:

  • videoio(视频捕获、视频编写器)
  • imgcodecs(imread/imwrite和friends)

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

    从OpenCV 2.x迁移到3.0.0(Java)

    成为resp:

    Imgcodecs.imread(fileName, Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE)
    Imgcodecs.imread(fileName)
    
    此外,图形功能还包括:

    Core.circle(..), Core.line(..), etc..
    
    已移至:

    Imgproc.circle(..), Imgproc.line(..)
    
    注 力矩,3.0.0中缺少的HuMoments将在3.1中修复
    请参见

    OpenCV 3.0.0还不是一个稳定的版本,可能是因为它仍然处于开发模式。highgui被分为videoio、imcdodecs和highgui。它不包括在jar中,因为它没有gui功能java@berak是的,你是对的。旧代码:Highgui.imencode(“.bmp”,frame,mem);新代码:Imgcodecs.imencode(“.bmp”,frame,mem);很好,感谢您添加所需的其他更改。非常感谢,您为我省去了很多麻烦!
    Imgproc.circle(..), Imgproc.line(..)