- Include
sys/sysinfo.h
for system API of Linux - Include
ucrtbase.dll
when bundling the runtime for Visual Studio 2015 on Windows (issue bytedeco/javacv#1098) - Add support for N-dimensional arrays to
opencv_core.Mat.createIndexer()
(pull #647) - Add for
CvMat
,IplImage
, andPIX
, helpercreate(..., Pointer data)
factory methods that prevent premature deallocation (issue bytedeco/javacpp#272 and issue bytedeco/javacv#1101) - Enable x265 multilib depth support at 8, 10, and 12 bits for FFmpeg (pull #619)
- Include all header files from
Python.h
in presets for CPython - Fix mapping of
initCameraMatrix2D
,calibrateCamera
, andstereoCalibrate
functions fromopencv_calib3d
- Build OpenCV with pthreads instead of OpenMP or GCD due to thread-safety and usability issues (issue bytedeco/javacv#396)
- Include IR, optimizer, and version converter for ONNX (pull #622)
- Add build for Mac OS X to presets for ONNX (issue #638)
- Allow MKL-DNN to link with the full version of MKL at runtime (issue #629)
- Add builds for
linux-mips64el
to presets for ARToolKitPlus, Chilitags, flandmark, OpenBLAS, and FFTW (pull #637) - Update sample code for GSL with a more complex example (issue #636)
- Fix CUDA build for OpenCV on Mac OS X missing
libopencv_cudev.dylib
(issue #626) - Upgrade presets for OpenCV 4.0.0, and FFmpeg 4.1, HDF5 1.10.4, MKL 2019.1, MKL-DNN 0.17, OpenBLAS 0.3.4, Tesseract 4.0.0, cuDNN 7.4, MXNet 1.3.1, TensorFlow 1.12.0, and their dependencies
- Keep globally shared dummy deallocator for
TF_Tensor
out ofPointerScope
- Add build for
linux-mips64el
to presets for OpenCV (pull #621) - Remove calls to deprecated functions from sample code for FFmpeg (pull #323)
- Call
Pointer.setNull()
in custom deallocators for the C API of TensorFlow to prevent double free from occurring - Add profiles to parent
pom.xml
that allow multiple platforms:mvn -Djavacpp.platform.none -Djavacpp.platform.linux-x86_64 -Djavacpp.platform.windows-x86_64 ...
- Add support for Windows to presets for LiquidFun (pull #536) and MXNet (pull #309)
- Add CUDA-enabled build for MXNet via
-gpu
extension (pull #609) - Prevent MKL-DNN from compiling code with
-march=native
(pull #618) - Add an RPATH to
libmkldnn.so.0
to avoid loading issues on Linux (issue deeplearning4j/deeplearning4j#6366) - Fix logic in
tensorflow.Tensor.createIndexer()
to support scalar tensors - Bundle
libgomp.so.1
in JAR file of MKL-DNN for Linux - Enable OpenMP for MKL-DNN also on Mac and Windows by building with GCC
- Fix loading order of runtime libraries for Visual Studio 2015 on Windows (issue #606)
- Add methods overloaded with
PointerPointer
for MKL-DNN (issue bytedeco/javacpp#251) - Bundle native resources (header files and import libraries) of MKL-DNN
- Make MSBuild compile more efficiently on multiple processors (pull #599)
- Add samples for Clang (pull #598)
- Include
tag_constants.h
,signature_constants.h
,graph_runner.h
,shape_refiner.h
,python_api.h
, and enable Python API for TensorFlow (issue #602) - Add presets for Spinnaker 1.15.x (pull #553), CPython 3.6.x, ONNX 1.3.0 (pull #547)
- Define
std::vector<tensorflow::OpDef>
type toOpDefVector
for TensorFlow - Link HDF5 with zlib on Windows also (issue deeplearning4j/deeplearning4j#6017)
- Enable MKL-DNN for MXNet and TensorFlow
- Upgrade presets for OpenCV 3.4.3, FFmpeg 4.0.2, HDF5 1.10.3, MKL 2019.0, MKL-DNN 0.16, OpenBLAS 0.3.3, ARPACK-NG 3.6.3, LLVM 7.0.0, Tesseract 4.0.0-rc2, CUDA 10.0, cuDNN 7.3, MXNet 1.3.0, TensorFlow 1.11.0, TensorRT 5.0, and their dependencies
- Fix loading issue with
opencv_cudaobjdetect
andopencv_cudaoptflow
on Windows (issue #592)
- Fix FFmpeg build of libvpx with Linux on ARM (issue #586)
- Enable MediaCodec acceleration for FFmpeg on Android (pull #589)
- Include
c_api_internal.h
for TensorFlow (issue #585) - Build all presets on CentOS 6 with Developer Toolset 6 and move almost all Linux builds to CentOS 6
- Fix functions from
facemark.hpp
andface_alignment.hpp
that crash when called withcv::Mat
objects - Virtualize
TensorBuffer
and make constructor with helper method inTensor
public to allow zero-copy - Add factory methods for
TF_Status
,TF_Buffer
,TF_Tensor
,TF_SessionOptions
,TF_Graph
,TF_ImportGraphDefOptions
, andTF_Session
that register deallocators - Bundle the libraries of CUDA and cuDNN, allowing OpenCV, Caffe, and TensorFlow to use GPUs with no CUDA installation
- Make it possible to set the
TF_Buffer::data
field for C API of TensorFlow - Add
openblas_nolapack
class to make it easier to load BLAS libraries missing LAPACK such as MKLML - Map instances of
google::protobuf::Map
to access more of TensorFlow's configuration (issue #533) - Fix presets for OpenBLAS failing to load MKL when symbolic links are enabled on Windows
- Define
CV__LEGACY_PERSISTENCE
to get back functions forKeyPointVector
andDMatchVector
(issue bytedeco/javacv#1012) - Skip by default OpenBLAS functions missing from MKL 2017
- Fix presets for OpenBLAS on
linux-ppc64le
not bundling correct libraries (issue deeplearning4j/deeplearning4j#5447) - Fix CUDA build for TensorFlow on Windows (pull #567)
- Disable optimized kernels of OpenBLAS on iOS as they return incorrect results (issue #571)
- Get exception messages from
H5::Exception
for HDF5 (issue deeplearning4j/deeplearning4j#5379) - Add more samples for TensorFlow including a complete training example (pull #563)
- Add helper for
PIX
,FPIX
, andDPIX
of Leptonica, facilitating access to image data of Tesseract (issue #517) - Add presets for the NVBLAS, NVGRAPH, NVRTC, and NVML modules of CUDA (issue deeplearning4j/nd4j#2895)
- Link OpenBLAS with
-Wl,-z,noexecstack
onlinux-armhf
as required by the JDK (issue deeplearning4j/libnd4j#700) - Include
textDetector.hpp
from theopencv_text
module - Include
feature.pb.h
,example.pb.h
,record_reader.h
, andrecord_writer.h
for TensorFlow (issue tensorflow/tensorflow#17390) - Enhance presets for
ALE
with access totheOSystem
, etc (issue #551) - Add presets for the
saliency
module of OpenCV (pull #555) - Add build for
linux-arm64
to presets for FFmpeg (pull #556) - Add support for Windows to presets for TensorFlow (issue #111)
- Add Android utility classes from the official Java API of OpenCV and TensorFlow (issue #549)
- Update build for FFmpeg on Raspbian Stretch (pull #548)
- Add presets for MKL-DNN 0.15 and TensorRT 4.0
- Fix build for FFmpeg on
android-x86
andandroid-x86_64
platforms (issue bytedeco/javacv#945) - Upgrade presets for OpenCV 3.4.2, FFmpeg 4.0.1, HDF5 1.10.2, MKL 2018.3, OpenBLAS 0.3.0, ARPACK-NG 3.6.1, FFTW 3.3.8, GSL 2.5, LLVM 6.0.1, Leptonica 1.76.0, Tesseract 4.0.0-beta.3 (issue #385), Caffe 1.0, CUDA 9.2, MXNet 1.2.1.rc1, TensorFlow 1.9.0, and their dependencies
- Disable unneeded error messages from LibTIFF in presets for Leptonica (issue deeplearning4j/DataVec#518)
- Bundle the official Java APIs of OpenCV and TensorFlow, via the
opencv_java
andtensorflow_cc
modules - Correct loading order of
mkl_core
to fix MKL issues on Windows (issue deeplearning4j/deeplearning4j#4776) - Add presets for the
aruco
,bgsegm
,img_hash
,phase_unwrapping
,plot
,structured_light
,tracking
, andxphoto
modules of OpenCV (issue #319) - Add bindings for
b2DynamicTree::Query
andRayCast
for LiquidFun (pull #531) - Add support for Windows to presets for LLVM (pull #530)
- Add builds for
android-arm64
andandroid-x86_64
platforms (issue #52) - Fix x265 encoding with FFmpeg on Android (issue bytedeco/javacv#866)
- Add presets for ARPACK-NG, CMINPACK
- Add iOS builds for OpenCV, OpenBLAS, and Skia (pull #525)
- Let GSL link with OpenBLAS, MKL, Accelerate, etc automatically instead of GSL CBLAS (issue #18)
- Append
@NoException
annotation to presets for libdc1394, libfreenect, MKL, OpenBLAS, FFTW, GSL, Leptonica, CUDA, and system APIs to reduce unneeded C++ overhead - Fix mapping of
fftwf_iodim
andfftwf_iodim64
for FFTW (issue #523) - Add support for iOS and Accelerate to presets for OpenBLAS (pull #515)
- Add "org.bytedeco.javacpp.openblas.load" system property to use libraries from Accelerate, etc (pull #444)
- Upgrade presets for OpenCV 3.4.1, FFmpeg 3.4.2, Leptonica 1.75.3, cuDNN 7.1, MXNet 1.1.0, TensorFlow 1.7.0-rc1, and their dependencies
- Include
facemark.hpp
,facemarkLBF.hpp
,facemarkAAM.hpp
,face_alignment.hpp
from theopencv_face
module - Add
AxpyLayer
to presets for Caffe (pull #508)
- Fix some integer types in HDF5 being mistakenly mapped to smaller integer types
- Remove the need for empty artifacts of unsupported platforms (issue #434)
- Link
jnivideoInputLib.dll
statically to avoid missing dependencies (issue bytedeco/javacv#864) - Add "org.bytedeco.javacpp.openblas.nomkl" system property to let users disable MKL easily
- Add initial set of CUDA bindings for OpenCV (pull #416)
- Add CUDA/OpenCL-enabled builds for OpenCV, Caffe, and TensorFlow via
-gpu
extension (issue bytedeco/javacv#481) - Enable NVIDIA CUDA, CUVID, and NVENC acceleration for FFmpeg (pull #492)
- Include
message_lite.h
,checkpoint_reader.h
,saver.pb.h
,meta_graph.pb.h
, andloader.h
for TensorFlow (issue #494) - Add
getString()
helper methods toCXString
,CXTUResourceUsageKind
, andCXEvalResult
forclang
(issue bytedeco/javacpp#51) - Add support for Mac OS X and Windows to presets for librealsense (issue #447)
- Enable MMAL and OpenMAX acceleration for FFmpeg on
linux-armhf
(pull #388) - Enable V4L2 for OpenCV on ARM platforms as well (issue bytedeco/javacv#850)
- Enable Intel QSV acceleration via libmfx for FFmpeg (pull #485)
- Add support for Mac OS X and Windows to presets for libfreenect2 (issue bytedeco/javacv#837)
- Enable VisualOn AMR-WB encoder library support for FFmpeg (pull #487)
- Use native threads for FFmpeg on Windows to prevent deadlocks with pthreads (pull #481)
- Add cross-compilation support for
linux-ppc64le
(pull #471) - Fix definitions of
fftw_iodim
andfftw_iodim64
for FFTW (issue #466) - Add
Mat(Point)
andMat(Scalar)
constructors to OpenCV for convenience (issue bytedeco/javacv#738) - Include the
libavutil/time.h
for FFmpeg (issue bytedeco/javacv#735) - Map
AVERROR()
for error codes fromerrno.h
used by FFmpeg (pull #459) - Use
long
instead ofint
for constants starting withAV_CH_LAYOUT_
inavutil
(pull #455) - Build FFmpeg with FreeType, enabling the
drawtext
filter (pull #452), and support for Opus (pull #457) - Enable cuDNN support for Caffe by default (issue #187)
- Use the new
BUILD_PATH
environment variable passed by thejavacpp
plugin to thecppbuild.sh
script files - Let presets pick up
include
orlink
paths from cached resources (pull #101) - Update presets for Visual Studio 2015 (issue #298)
- Reuse the presets for HDF5 and OpenBLAS with Caffe and MXNet
- Replace the
exec-maven-plugin
with thejavacpp
plugin itself to execute thecppbuild.sh
script files - Link TensorFlow statically with
cudart
to avoid dependency on CUDA (issue #396) - Add missing call to
Loader.load()
in helper class foropencv_ml
(issue bytedeco/javacv#638) - Work around issues with TensorFlow on some versions of Mac OS X (issue #335)
- Upgrade presets for OpenCV 3.4.0, FFmpeg 3.4.1, FlyCapture 2.11.3.121 (pull #424), libdc1394 2.2.5, librealsense 1.12.1, Chilitags, HDF5 1.10.1, OpenBLAS 0.2.20, FFTW 3.3.7, GSL 2.4, LLVM 5.0.1 (pull #404), Leptonica 1.74.4, Tesseract 3.05.01, Caffe 1.0, CUDA 9.1, cuDNN 7.0, MXNet 1.0.0, TensorFlow 1.5.0-rc1, and their dependencies
- Add presets for libfreenect2 (pull #340), MKL 2018.1 (issue #112), libpostal 1.1-alpha (pull #502), The Arcade Learning Environment 0.6.0, LiquidFun (pull #356), Skia (pull #418), and system APIs (Linux, Mac OS X, and Windows)
- Fix the
FlyCapture2
module for some versions on Windows (issue #337) - Add functions missing from the presets of MXNet (issue #332)
- Add presets for the
text
module of OpenCV 3.x (pull #333)
- Fix FFmpeg builds on ARM when not using a cross compiler (issue #322)
- Add
blas_extra.h
to presets for OpenBLAS, containingblas_set_num_threads()
andblas_get_vendor()
functions - Introduce platform artifacts that depend on binaries for all available platforms and work with any build system (sbt, Gradle, M2Eclipse, etc)
- Map more functions of the OpenCV Transparent API with
UMat
andUMatVector
parameters (issue bytedeco/javacv#518) - Add support for
android-arm
andandroid-x86
platforms to TensorFlow presets (pull #297) - Keep a reference of
tensorflow.SessionOptions
inAbstractSession
to prevent premature deallocation (pull #297) - Enable CUDA in
cppbuild.sh
script for TensorFlow (issue #294) - Bundle
libgomp.so.1
in JAR files of OpenCV for the sake of some Linux distributions (issue bytedeco/javacv#436) - Fix
linux-armhf
andlinux-ppc64le
builds for all presets (pull #279) - Fix
libdc1394
not properly linking withlibusb-1.0
on Mac OS X (issue bytedeco/javacv#501) - Add presets for the
bioinspired
module of OpenCV 3.1 (pull #282) - Include
tensorflow/core/graph/dot.h
header file from TensorFlow (pull #272) - Add presets for librealsense, HDF5, and OpenBLAS/MKL (issue #112)
- Make Caffe work on CPU-only machines (issue #219)
- Fix loading issue with
opencv_face
(issue bytedeco/javacv#470) - Fix presets for CUDA on the
linux-ppc64le
platform - Upgrade presets for FFmpeg 3.2.1, FFTW 3.3.5, GSL 2.2.1, LLVM 3.9.0, CUDA 8.0, cuDNN 5.1, Caffe, MXNet, TensorFlow 0.11.0, and their dependencies
- Set default options in
tensorflow/cppbuild.sh
to prevent console reads during build - Add
Tensor.createStringArray()
method to accessDT_STRING
data (issue #249) - Fix Javadoc links for externally referenced classes
- Work around build issues for TensorFlow on some Linux distributions (issue bazelbuild/bazel#1322)
- Fix
cppbuild.sh
script to build properly FFmpeg from source on Windows - Stop using Zeranoe FFmpeg builds, often not available for release versions (issue #225)
- Add
linux-ppc64le
tocppbuild.sh
scripts of OpenCV, FFmpeg, Leptonica, and Tesseract
- Build libdc1394 for the Windows platform as well (issue bytedeco/procamcalib#4)
- Lower Maven prerequisite in the
pom.xml
file to 3.0 (issue bytedeco/javacpp#93) - Include the
Descriptor
andMessage
APIs in the presets for Caffe (issue #196) - Prevent creating text relocations for shared libraries on Android (issue bytedeco/javacv#245)
- Make sure to include only native libraries in platform specific JAR files (pull bytedeco/javacpp#89)
- Execute the
cppbuild.sh
scripts within the Maven build lifecycle, can be skipped with-Djavacpp.cppbuild.skip
(pull #175) - Fix Caffe crashing in GPU mode: Do not define
CPU_ONLY
(issue #147) - Make OpenBLAS build for Caffe more generic (issue #154)
- Include missing
graph_constructor.h
header file from thetensorflow
module (issue #165) - Add missing
GraphDefBuilder.Options.WithAttr()
methods from thetensorflow
module (issue #160) - Add
linux-armhf
platform to thecppbuild.sh
scripts of OpenCV, FFmpeg, etc (pull #177) - Add support for Motion JPEG to the minimal configuration proposed for FFmpeg in the
cppbuild.sh
file - Make
mvn -Djavacpp.platform=...
andmvn -Djavacpp.platform.dependency=...
commands work correctly - Add presets for the
dnn
module of OpenCV 3.1 (issue #145) - Prepend "javacpp." to all properties associated with Maven in the
pom.xml
files to avoid name clashes - Add a
Mat(CvArr arr)
constructor for convenience (issue bytedeco/javacv#317) - Fix loading issue with
opencv_stitching
andopencv_xfeatures2d
(issue bytedeco/javacv#316, issue bytedeco/javacv#336) - Virtualize all
Solver
classes from Caffe (issue #143) - Work around GSL not loading on Android (issue bytedeco/javacpp#55)
- Fix Android builds of FFmpeg, FFTW, GSL, Leptonica, and Tesseract causing errors under Mac OS X (issue #45)
- Avoid versioning of FFTW and GSL libraries, preventing them from working on Android (issue #127)
- Upgrade presets for OpenCV 3.1.0, FFmpeg 3.0.2, OpenSSL 1.0.2h, x265 1.9, FlyCapture 2.9.3.43, libdc1394 2.2.4, videoInput, GSL 2.1, LLVM 3.8.0, Leptonica 1.73, Tesseract 3.04.01, cuDNN 5, and Caffe rc3, including the latest versions of their dependencies (issue bytedeco/javacpp#55)
- Add presets for MXNet and TensorFlow 0.8.0 (issue #111)
- Virtualize
opencv_videostab.IFrameSource
to let us implement it in Java (issue bytedeco/javacv#277) - Fix MinGW-w64 builds with recent versions of GCC 5.x and potential issue with using "w32threads" for FFmpeg
- Add missing
StatModel.loadXXX()
methods in theopencv_ml
module (issue #109) - Define commonly used Caffe
std::vector
types (DatumVector
,FloatCallbackVector
, andDoubleCallbackVector
) for ease of use and performance reasons - Fix the
cppbuild.sh
script for FFmpeg, failing to build x264 and OpenH264 properly on Windows
- Build the Maven artifacts for Linux in a CentOS 6 Docker container, for maximum compatibility (issue #22)
- Cache files downloaded by
cppbuild.sh
in thedownloads
subdirectory to prevent having to redownload everything after a clean - Add the
clang
module to the presets for LLVM - Propose for FFmpeg in the
cppbuild.sh
file a minimal configuration to support MPEG-4 streams with H.264 and AAC - Add the non-GPL OpenH264 as an alternative H.264 encoder to x264 in FFmpeg
- Hack together
log_callback.h
to be able to redirect to Java log messages from FFmpeg - Pick up
OLDCC
,OLDCXX
, andOLDFC
environment variables incppbuild.sh
andplatform.oldcompiler
system property in Maven to build with it libraries that can tolerate an older version of the C/C++ compiler on Linux - Upgrade all Maven dependencies and plugins to latest versions, thus bumping minimum requirements to Java SE 7, Android 4.0, and Maven 3.0
- Provide
cppbuild.sh
script for Caffe that includes all dependencies (pull #77) - Upgrade presets for Caffe, CUDA 7.5, cuDNN 3, FFmpeg 2.8.1, Speex 1.2rc2, x265 1.8, FlyCapture 2.8.3.1, libfreenect 0.5.3, LLVM 3.7.0, Tesseract 3.04
- Include
motion_vector.h
,fifo.h
, andaudio_fifo.h
header files in theavutil
module of FFmpeg (issue #79) - Add presets for Chilitags, thanks to Chris Walters for the financial contribution
- Let users choose the runtime type of
layer_by_name()
fromFloatNet
orDoubleNet
incaffe
(issue bytedeco/javacpp#25) - Add presets for the
face
,optflow
, andxfeatures2d
modules of OpenCV 3.0 (issue bytedeco/javacv#196, issue bytedeco/javacv#239, issue #54) - Switch to GCC 4.9 by default on Android, probably dropping support for Android 2.2, because GCC 4.6 has issues with OpenMP (issue bytedeco/javacv#179)
- Resolve missing dependency for GSL on
windows-x86
by linking statically whatever it needs fromlibgcc_s_dw2-1.dll
- Build OpenCV, GSL, Leptonica, and Tesseract from source code on all platforms for better consistency in functionality across platforms
- Add presets for CUDA 7.0 (including cuBLAS, cuDNN, cuFFT, cuRAND, cuSOLVER, cuSPARSE, and NPP)
- Offer the Apache License, Version 2.0, as a new choice of license, in addition to the GPLv2 with Classpath exception
- Add libvpx in the
cppbuild.sh
script for FFmpeg to support the WebM format (issue #33) - Upgrade presets for OpenCV 3.0.0, FFmpeg 2.7.1, OpenSSL 1.0.2d, x265 1.7, Leptonica 1.72, LLVM 3.6.1, and the latest of Caffe
- Define commonly used OpenCV
std::vector
types (PointVector
,Point2fVector
,Point2dVector
,SizeVector
,RectVector
,KeyPointVector
,DMatchVector
) for ease of use and performance reasons - Map
cv::saturate_cast<>()
in a more meaningful way (issue #53) and name these functions more consistently - In addition to Leptonica and Tesseract, use only the officially supported GCC compiler for FFmpeg, FFTW, and GSL under Windows as well, to prevent compatibility issues (issue bytedeco/javacv#137)
- Make
flycapture/cppbuild.sh
fail if FlyCapture is not found installed on the system (issue #46) - Patch libdc1394, libdcfreenect, FFTW, GSL, Leptonica and Tesseract with missing
@rpath
needed by Mac OS X (issue #46)
- Remove unneeded
@Opaque
types fromgsl
and replace them with their definitions whose names end with "_struct" - Segregate methods using
java.awt
classes into the newJava2DFrameConverter
class of JavaCV (issue #12) - Emphasize the need to install separately the parent
pom.xml
file (issue #42) - Make CMake configurable via
CMAKE
variable incppbuild.sh
(pull #41) - Add presets for Caffe (issue #34)
- Let
createBuffer()
returnUByteIndexer
andUShortIndexer
when appropriate for unsigned data types - Remove the need to set manually the
platform.dependency
system property for downstream modules without acppbuild.sh
file - Fix failing
cppbuild.sh
for FFmpeg on Ubuntu (issue #32) - Disable iconv, XCB, and SDL for more portables builds of FFmpeg, but enable
x11grab
andavfoundation
to allow screen capture (issue #39) - Avoid versioning of Leptonica and Tesseract libraries, preventing them from working on Android (issue #38)
- Add x265 in the
cppbuild.sh
script for FFmpeg, thanks to Mark Bolstad (issue bytedeco/javacv#41) - Upgrade presets for OpenCV 2.4.11, FFmpeg 2.6.1, OpenSSL 1.0.2a, FlyCapture 2.7.3.19, libdc1394 2.2.3, libfreenect 0.5.2, LLVM 3.6.0
- Switch from
IntPointer
toBoolPointer
for theBOOL*
pointer type of Leptonica (issue #36) - Add
preload
forgif
,jpeg
,png
,tiff
, andwebp
libraries in presets for Leptonica (issue #36) - Include missing
ltrresultiterator.h
header file in the presets for Tesseract (issue #36) - Append
@Documented
to annotation types to have them picked up by Javadoc
- Update instructions in the
README.md
file for manual installation in Android Studio - Include presets for Leptonica 1.71 and Tesseract 3.03-rc1 on Windows too
- Fix
Mat.createFrom(BufferedImage)
(issue #30) - Add Speex, OpenCORE (AMR-NB and AMR-WB), and OpenSSL in the
cppbuild.sh
script for FFmpeg to support common RTMPS streams, among other things (issue #2 and issue bytedeco/javacv#71) - Deprecate slow
get()
andput()
methods ofCvMat
in favor of the fast ones fromcreateIndexer()
(issue javacv:317) - Include
operations.hpp
andmat.hpp
inopencv_core
to get a few important functions such asread()
andwrite()
forFileStorage
- Replace
install_name_tool
hack to set@rpath
on Mac OS X with patches to do it properly on install (issue bytedeco/javacpp#6 and issue bytedeco/javacv#49) - Disable DocLint, which prevents the build from succeeding on Java 8 (issue bytedeco/javacpp#5)
- Disable OpenCL detection when building FFmpeg, causing link failures (issue #19)
- Document a bit the
create()
factory methods in thehelper
package of the OpenCV module, and their relationship with therelease()
methods - Include new
createIndexer()
method inCvMat
,IplImage
,Mat
, etc. for easy and efficient multidimensional access of data (issue #317) - Deprecate
get*Buffer()
methods in favor of a better named and genericcreateBuffer()
method - Fix
java.lang.UnsatisfiedLinkError
when allocatingopencv_core.Mat
, among others (issue bytedeco/javacv#9 and issue bytedeco/javacv#28) - Force OpenCV to build with GCC 4.6, as newer versions are known to hang on Android 2.2 (issue android:43819)
- Upgrade presets for OpenCV 2.4.10, FFmpeg 2.5.1, FlyCapture 2.7.3.13, libfreenect 0.5.1, ARToolKitPlus 2.3.1, LLVM 3.5.0, and videoInput 0.200, where the latest code got merged into the master branch
- Add callbacks for Tesseract according to new functionality in JavaCPP
- Fix missing dependency of
opencv_contrib
onopencv_nonfree
(issue javacv:490) - Skip functions that are not actually implemented in
avdevice
, causing load failures on Android - Update presets for FFmpeg where
avcodec
now inherits fromswresample
(issue #13) - Add a
README.md
file to each presets with links to original project, Java API documentation, and sample usage - Add missing overloaded methods with
PointerPointer
parameters in LLVM module
- Add libmp3lame to FFmpeg builds (issue javacv:411)
- Upgrade presets for FFmpeg 2.3, FlyCapture 2.6.3.4 (pull #6, issue #8), libfreenect 0.5
- Make the
cppbuild.sh
scripts install native libraries inside thecppbuild
subdirectories, instead of on the system - Include new
platform.dependency
andplatform.dependencies
properties to let users depend easily on the artifacts that contain native libraries - Add presets for flandmark 1.07 (pull #9), FFTW 3.3.4, GSL 1.16, LLVM 3.4.2, Leptonica 1.71, Tesseract 3.03-rc1
- Fix missing
static
keyword on methods annotated with an@Adapter
(issue #3) - Turn
Mat.createFrom()
into a static factory method, and makeMat.copyFrom()
callMat.create()
as appropriate (issue #1) - Add missing
native_camera
modules ofopencv_highgui
for Android - Fix functions from
opencv_stitching
not accepting aMatVector
as apparently intended by the API (issue javacv:466)
- Move from Google Code to GitHub as main source code repository
- Rename the
com.googlecode.javacpp
package toorg.bytedeco.javacpp
- Appended the version of the parent artifact to the ones of the child modules, in an effort to avoid conflicts
- Updated
cppbuild.sh
scripts with support for the "android-x86" platform (issue javacv:411), thanks to Xavier Hallade - Added presets for PGR FlyCapture 1.7
- Fixed compilation errors on Android, Mac OS X, and Windows
- Upgraded to OpenCV 2.4.9, FFmpeg 2.2.1, libdc1394 2.2.2, and libfreenect 0.4
- Introduced build scripts, based on the CPPJARs package of JavaCV, to install native C/C++ libraries
- Ported various helper classes and methods from JavaCV
- Inserted missing dependency entries in the
pom.xml
files of the child modules - Added presets for the C++ API of OpenCV 2.4.8, which can now be parsed due to the latest changes in JavaCPP
- Fixed JavaCPP properties not getting set by the parent
pom.xml
file - Added presets for the C API of OpenCV 2.4.8, FFmpeg 2.1.x, libfreenect 0.2 (OpenKinect), videoInput 0.200, and ARToolkitPlus 2.3.0
Initial release
This project was conceived at the Okutomi & Tanaka Laboratory, Tokyo Institute of Technology, where I was supported for my doctoral research program by a generous scholarship from the Ministry of Education, Culture, Sports, Science and Technology (MEXT) of the Japanese Government. I extend my gratitude further to all who have reported bugs, donated code, or made suggestions for improvements (details above)!