问题描述
我正在编译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
中的功能已分为两个模块:
由于没有暴露给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:
- videoio (VideoCapture, VideoWriter).
- 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中缺失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!