HighGUI在OpenCV 3.0.0 JAR中缺失

HighGUI is missing from OpenCV 3.0.0 JAR

本文关键字:JAR HighGUI OpenCV      更新时间:2023-10-16

我正在编译带有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

如http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html与-D BUILD_SHARED_LIBS=OFF所述。

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

calib3d
core
features2d
imgcodecs
imgproc
ml
objdetect
photo
utils
video
videoio

我在安装过程中错过了什么吗?

从OpenCV 2迁移。

Highgui.imread(fileName, Highgui.CV_LOAD_IMAGE_GRAYSCALE)
Highgui.imread(fileName)

成为职责:

Imgcodecs.imread(fileName, Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE)
Imgcodecs.imread(fileName)

同时,绘制函数如:

Core.circle(..), Core.line(..), etc..

已移动到:

Imgproc.circle(..), Imgproc.line(..)

注意3.0.0缺少时刻和幽默。会在3.1中修复吗看到虫子

简答:Java 3.0不再有HighGUI模块

Long One: HighGUI的功能被分成两个额外的模块:

  1. video (VideoCapture, VideoWriter).
  2. imgcodecs (imread/imwrite和friends).

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

昨天我在介绍的最后找到了http://docs.opencv.org/2.4/doc/tutorials/introduction/clojure_dev_intro/clojure_dev_intro.html我的问题的答案:

OpenCV Java API没有封装highgui模块功能依赖于Qt(例如namedWindow和imshow)。如果你想创造窗口,并在与OpenCV交互时向其中显示图像REPL,现在你只能靠自己了。你可以用Java