我正在编译支持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 with -D BUILD_SHARED_LIBS=OFF中所说的。
当我想测试安装时,我发现没有Highgui类,也没有指向它的路径。以下是我的opencv-300.jar org.opencv文件夹内容:
calib3d
core
features2d
imgcodecs
imgproc
ml
objdetect
photo
utils
video
videoio我在安装过程中是否遗漏了什么?
发布于 2014-09-20 06:12:16
简而言之:Java3.0中不再有HighGUI模块。
长篇大论:HighGUI中的功能被分成两个额外的模块:
因为没有向Java公开的图形用户界面功能,所以在Java中不再需要HighGUI模块。
发布于 2015-09-27 23:47:09
从OpenCV 2.x迁移到3.0.0 ()
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(..)注意Moments,3.0.0中缺少HuMoments。将在3.1中修复请参阅bug
发布于 2014-08-01 18:23:59
昨天,我在介绍的末尾找到了http://docs.opencv.org/2.4/doc/tutorials/introduction/clojure_dev_intro/clojure_dev_intro.html对我的问题的答案:
根据Qt的不同,OpenCV Java API不会包装highgui模块功能(例如,namedWindow和imshow。如果你想创建窗口并在其中显示图像,同时从REPL与OpenCV进行交互,那么现在你可以自己决定了。您可以使用Java Swing来填补这一空白。
https://stackoverflow.com/questions/25059576
复制相似问题