OpenCV 3.0.0 JAR缺少HighGUI

Vla*_*nko 35 c++ java 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/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
Run Code Online (Sandbox Code Playgroud)

正如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
Run Code Online (Sandbox Code Playgroud)

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

Hey*_*nge 71

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

Highgui.imread(fileName, Highgui.CV_LOAD_IMAGE_GRAYSCALE)
Highgui.imread(fileName)
Run Code Online (Sandbox Code Playgroud)

成为resp:

Imgcodecs.imread(fileName, Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE)
Imgcodecs.imread(fileName)
Run Code Online (Sandbox Code Playgroud)

此外,绘图功能,如:

Core.circle(..), Core.line(..), etc..
Run Code Online (Sandbox Code Playgroud)

已被移至:

Imgproc.circle(..), Imgproc.line(..)
Run Code Online (Sandbox Code Playgroud)

注意Moments,HuMoments在3.0.0中缺失.将在3.1中修复.查看bug


ber*_*rak 63

简答:HighGUIJava for 3.0中不再有模块了.

长一:功能HighGUI分为两个附加模块:

  1. videoio(VideoCapture,VideoWriter).
  2. imgcodecs(imread/imwrite和朋友).

由于没有向Java公开的GUI功能,因此不再需要Java中的HighGUI模块.

  • 旧代码:Highgui.imencode(".bmp",frame,mem); 新代码:Imgcodecs.imencode(".bmp",frame,mem); (18认同)