- Upgrade support to OpenCV 4.7.x and FFmpeg 6.0.x
- Add workaround options for JDK 17+ in launch scripts (issue bytedeco/procamcalib#28)
- Upgrade support to OpenCV 4.6.x
- Upgrade support to FFmpeg 5.1.x
- Upgrade support to FFmpeg 5.0.x
- Upgrade support to FFmpeg 4.4.x
- Upgrade support to OpenCV 4.5.x
- Fix support for RealSense cameras (issue bytedeco/procamcalib#25)
- Upgrade support to OpenCV 4.4.x and FFmpeg 4.3.x
- Upgrade support to OpenCV 4.3.x
- Upgrade support to FFmpeg 4.2.x
- Add
RealSense2FrameGrabberto capture images with librealsense2 - Fix
OpenCVFrameConvertererror inIPCameraFrameGrabber
- Upgrade support to OpenCV 4.1.x
- Upgrade to NetBeans 11.0 with support for recent versions of Java SE (issue bytedeco/procamcalib#16)
- Adjust code to support latest changes in JavaCV
- Remove no longer necessary workaround that would produce memory leaks
- Upgrade support to OpenCV 4.0.x and FFmpeg 4.1.x
- Upgrade support to OpenCV 3.4.3
- Upgrade support to OpenCV 3.4.2 and FFmpeg 4.0.x
- Fix issues with RealSense cameras (issue bytedeco/procamcalib#15)
- Upgrade support to OpenCV 3.4.1
- Upgrade support to OpenCV 3.4.0 and FFmpeg 3.4.x
- Work around stability issues on some systems (issue bytedeco/procamcalib#4)
- Add support for the
linux-armhfandlinux-ppc64leplatforms, libdc1394 on Windows, and librealsense on Linux x86 - Upgrade support to FFmpeg 3.2.x
- Fix Javadoc links for externally referenced classes
- Upgrade support to OpenCV 3.1.0 and FFmpeg 3.0.x
- Lower Maven prerequisite in the
pom.xmlfile to 3.0 (issue bytedeco/javacpp#93)
- Upgrade support to FFmpeg 2.8.x
- Upgrade all Maven dependencies and plugins to latest versions, thus bumping minimum requirements to Java SE 7 and Maven 3.0
- Upgrade support to OpenCV 3.0.0 and FFmpeg 2.7.x
- Adjust code to support latest changes in JavaCV
- Upgrade support to OpenCV 2.4.11 and FFmpeg 2.6.x
- Bundle missing dependencies of JOCL and JOGL
- Upgrade support to OpenCV 2.4.10, FFmpeg 2.5.x, and FlyCapture 2.7
- Upgrade support to FFmpeg 2.3.x
- Remove
platformproperty frompom.xml, replaced with theplatform.dependencyone in JavaCPP Presets (javacv issue #10)
- Move from Google Code to GitHub as main source code repository
- Upgrade support to OpenCV 2.4.9 and FFmpeg 2.2.x
- Upgrade to NetBeans 8.0 and work around conflict between
opencv_highguiandcom.sun.java.swing.plaf.gtk.GTKLookAndFeel - Rename the
com.googlecode.javacv.procamtrackerpackage toorg.bytedeco.procamtracker - Removed old NetBeans project files that cause a conflict when trying to open as a Maven project (issue javacv:210)
- Upgraded support to OpenCV 2.4.8 and FFmpeg 2.1.x
VideoInputFrameGrabbernow uses 640x480 as default image size to prevent "videoInput.getPixels() Error: Could not get pixels."
- Upgraded support to OpenCV 2.4.6.x and FFmpeg 2.0.x
- Upgraded to NetBeans 7.3.1
- Upgraded to ARToolKitPlus 2.3.0 (issue javacv:234)
- Fixed drawing issues with
MarkerDetector.draw()
- Upgraded support to OpenCV 2.4.5 and FFmpeg 1.2
- Upgraded support to OpenCV 2.4.4 and FFmpeg 1.1
- Upgraded support to OpenCV 2.4.3 and FFmpeg 1.0
- Upgraded support to OpenCV 2.4.2 and FFmpeg 0.11
- Started using version numbers, friendly to tools like Maven, and placing packages in a sort of Maven repository
- Upgraded support to OpenCV 2.4.0
- Added
pom.xmland assembly files for Maven support and changed the directory structure of the source code to match Maven's standard directory layout
- Added new
RealityAugmentor.ObjectSettings.surfaceHasTextureproperty to have ProCamTracker rectify the projector display on textureless surface planes, using either theFULL_FRAMEor the centeredHALF_FRAMEof the camera image, specified by theroiAcquisitionMethodproperty - Renamed a few other
Settingsproperties to reflect better their meanings
TrackingWorkernow fully support tracking with OpenCL and OpenGL acceleration (whenuseOpenCLis checked)- New
TrackingWorker.projectorBufferingSize(in number of frames to buffer) andproCamPhaseShift(in milliseconds) settings to compensate for the delay of the projector display, and of the camera capture as well, while still allowing processing at high FPS - Accelerated and parallelized execution of
RealityAugmentor - Updated
ObjectFinderaddinguseFLANNto itsSettingsproperties, letting it use FLANN via OpenCV - Cleaned up and optimized
HandMouse - Renamed some
Settingsproperties here and there to correct typos and reflect better their meanings
- Should now have an easier time automatically finding OpenCV libraries inside standard directories such as
/usr/local/lib/,/opt/local/lib/, andC:\opencv\, even when they are not part of the system configuration or PATH - New
PS3EyeFrameGrabberfrom Jiri Masa can now grab images using the SDK from Code Laboratories TrackingWorkernow supports processing with OpenCL and OpenGL
- Fixed
DC1394FrameGrabberandFlyCaptureFrameGrabberto behave as expected with all Bayer/Raw/Mono/RGB/YUV cameras modes (within the limits of libdc1394 and PGR FlyCapture)
- Upgraded support to OpenCV 2.3.1
OpenCVFrameGrabbernow detects when CV_CAP_PROP_POS_MSEC is broken and gives up callingcvGetCaptureProperty()
- Upgraded support to OpenCV 2.3.0
- Fixed
OpenKinectFrameGrabberandFFmpegFrameGrabber
- New
OpenKinectFrameGrabberto capture from Microsoft's Kinect stereo camera using OpenKinect - The Unix scripts now check for a 64-bit JVM in priority
- Changed
Marker.getCenter()back to the centroid, because it has better noise averaging properties and gives in practice more accurate results than the actual center - Added hack to
OpenCVFrameGrabber.start()to wait forcvRetrieveFrame()to return something else thannullunder Mac OS X - Added to the scripts
-Dapple.awt.fullscreencapturealldisplays=falseJava option required for full-screen support under Mac OS X - Removed from the scripts the default
-Dsun.java2d.opengl=TrueJava option, because since NVIDIA Release 260 family of drivers, most video drivers under Linux do not have good OpenGL support anymore FFmpegFrameGrabbernow works properly on Windows with newer binaries- New
VideoInputFrameGrabberto capture using DirectShow, useful under Windows 7 where OpenCV and FFmpeg can fail to capture using Video for Windows - Changed the output of
monitorWindowsslightly to accommodate better theHandMouse
- Added a
formatproperty to camera settings, mostly useful forFFmpegFrameGrabber, where interesting values include "dv1394", "mjpeg", "video4linux2", "vfwcap", and "x11grab" - Added hack to make sure the temporarily extracted library files get properly deleted under Windows
- Added (rudimentary) outlier detection and modified zero threshold handling
- Added new
HandMouseandRealityAugmentorfeatures - Fixed
ProjectiveDevice.distort(), which mistakenly undistorted projector images instead
- Upgraded to the latest version of JavaCV based on JavaCPP instead of JNA, featuring better performance
- Enhanced a few things of the image alignment algorithm
- Tried to fix image format conversion inside
FlyCaptureFrameGrabber, but this is going to require more careful debugging
- Renamed the package namespace to
com.googlecode.javacv.procamtracker, which makes more sense now that JavaCV has been well anchored at Google Code for more than a year, piggybacking on the unique and easy-to-remember domain name, but this means you will need to manually edit any old XMLsettings.pctfiles and rename the namespace of the classes inside CanvasFramenow redraws itsCanvasafter the user resizes theFrame- Added check to
DC1394FrameGrabberso that a "Failed to initialize libdc1394" does not crash the JVM FrameGrabbernow selects the default grabber a bit better- Made sweeping changes (for the better, but still not finalized) to
GNImageAligner,ProjectiveTransformer,ProjectiveGainBiasTransformer, andProCamTransformer... - Fixed display issues with the mouse cursor on Windows, and made a few small cosmetic changes
- Now tries harder to release native memory on time
- Fixed crash that would occur in
CanvasFramefor some video drivers - Fixed crash inside the code for direct alignment caused by the ROI getting set outside the image plane
- Added
deltaScaleandtryToFixPlanesettings toGNImageAligner(the first used as increment, randomly selected forward or backward, for finite difference), which sometimes help to jump over local minima
- Fixed speed setting problem with the
FlyCaptureFrameGrabber
- Modified a few things to get better default behavior of gamma correction
Camera.triggerFlushSizenow defaults to 5 (only affectsOpenCVFrameGrabberandFFmpegFrameGrabber)- Replaced
LMImageAlignerbyGNImageAligner, a more appropriate name for Gauss-Newton withlineSearch
- Added support for OpenCV 2.1
- Fixed mouse cursor under Windows when
objectRoiAcquisition == USER - Added new
VirtualBallvisual element - Fixed up the
Chronometera bit - Added
projectorVideoFilesetting, whose images get merged withprojectorImageFile - Some bugs fixed for FFmpeg
- 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)!