Library of programming functions mainly aimed at real-time vision

OpenCV

OpenCV 4.12.0

  -  178 MB  -  Open Source
  • Latest Version

    OpenCV 4.13.0

  • Operating System

    Windows XP / Vista / Windows 7 / Windows 8 / Windows 10

  • User Rating

    Click to vote
  • Author / Product

    OpenCV Team / External Link

  • Filename

    opencv-4.12.0-windows.exe

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system.

Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of OpenCV 4.12.0.


For those interested in downloading the most recent release of OpenCV or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

Why is this app published on FileHorse? (More info)
  • OpenCV 4.12.0 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    OpenCV 4.12.0 Screenshot 1
  • OpenCV 4.12.0 Screenshot 2
  • OpenCV 4.12.0 Screenshot 3
  • OpenCV 4.12.0 Screenshot 4

What's new in this version:

Core Module:
- Added user-defined logger callback
- Added reinterpret() method to cv::Mat
- Fixed empty ND-array construction
- Fixed bug with int64 support for FileStorage
- Fixed cv::meanStdDev overflow for large images
- Useed HAL for cv::mean function too
- Vectorized cv::normalize / cv::norm
- Enabled SIMD_SCALABLE for exp and sqrt
- vectorized normDiff with universal intrinsics
- Refactored normDiff in hal_rvv and extended with support of more data types
- Further vectorized copyTo with mask
- Fix POWN OpenCL implementation
- Restored legacy universal intrinsics operators in a separate header
- Improved solveCubuc accuracy:
- Deprecated copyData Parameter in cv::UMat construction from std::vector and always copy data

Imgproc Module:
- Optimized and reduced memory consumption in cv::findContours
- Fixed integer overflow in cv::HoughLinesProbabilistic with very large input images
- Fixed several potential overflows in image warping
- Improved robustness for ellipse fitting
- Added cv::THRESH_DRYRUN flag to get adaptive threshold values without input thresholding
- Fixed cv::getPerspectiveTransform for singular case
- Optimized bayer2Gray with universal intrinsics
- Added optional mask to cv::threshold
- Accelerated cv::remap calculation with multi-threading, when cv::WARP_INVERSE_MAP is used
- Reworked HSV color conversion tables initialization in OpenCL branch to fix possible data raise
- Fixed bilateral filter's sigma color and sigma space issue
- Impoved performance of medianblur
- Added cv::getClosestEllipsePoints function to get the closest point on an ellipse
- Corrected IPP implementation for cv::distanceTransform results with single thread
- Fixed cv::matchTemplate with mask crash
- Added diamond structuring element to morphology operations
- Improved cv::intersectConvexConvex accuracy in corner cases

Calib3d module:
- Fixed inliers updating in homography estimation
- Added cv::solvePnPRansac implementation for the fisheye camera model
- Fixed different marker ordering with cv::findChessboardCornersSBWithMeta and cv::CALIB_CB_LARGER flag.
- Fixed logical mistake in FilterSpecklesImpl
- Optimized undistort points for the fisheye camera model
- Optimized new camera matrix estimation and some related functions
- Added warning if projected axes are out of camera frame in cv::drawAxes function
- Added image dimension check to avoid StereoSGBM non-determinism
- Fixed bugs in SQPNP orthogonalization and simplified column vectors copying

DNN Module:
- Added TFLite StridedSllice (without strides but just Slice) and enable strides for TF importers
- Added fusion handler of conv+eltwise in case of multi-output node (i.e. Split)
- Added new ops import in TFLite parser: SUB, SQRT, DIV, NEG, SQUARED_DIFFERENCE, SUM
- Fxied scalars and 1d tensors support in TFLite parser
- Reduced mumber of NHWC<->NCHW conversions in TFLite parser
- Added checks before getting latest pin in Net::Impl::getLatestLayerPin
- Added OpenVINO NPU support
- Added more operations to CANN backend

Objdetect module:
- Extend ArUcoDetector to run multiple dictionaries in an efficient manner
- Fixed rotated aruco marker board generation
- Fixed incorrect Aruco marker detection near image edge
- Fixed invalid vector access in QR de/encoder
- Fix QR code encoder with auto version
- Aded QRCode ECI encoding support
- Made ChAruco board consistency check optional

Photo Module:
- Added 16-bit support to cv::fastNlMeansDenoising and updated tests
- Local decolor pipeline optimization
- Fixed Triangle Weights used by Debevec algorithm being non zero at extremes
- Fixed NaNs in HDR Triangle Weights and Tonemapping and Update LDR Ground Truth in tutorial

VideoIO Module:
- Fixed invalid custom FFmpeg options handling provided with environment variable
- Fixed default cv::CAP_PROP_ORIENTATION_ATUO behaviour
- Improved camera opening performance when with DShow backed, if custom options are provided
- Added zoom support into Android native camera capture
- Fixed V4L frame size for non-BGR output
- Added Orbbec Gemini 330 camera support
- Fixed cv::VideoWriter failure on writing colorless images
- Fixed Android setCameraIndex issue

Imgcodecs:
- Extended image I/O API with metadata support
- Added in-memory animation encoding and decoding
- Added hidden frame support for Animated PNG
- Added GIF decode and encode for imgcodecs
- Added animated WebP Support
- Added GDAL multi-channel support
- Fixed AVIF linkage on Windows
- Significantly improved PNG and Animated PNG files handing
- Added several fixes for libspng integration
- Fixed memory leak in JpegXL decoder
- Added support for cv::IMREAD_UNCHANGED and other ImreadFlags into JpegXL implementation
- Implemented imdecode() for JpegXL to directly read from memory
- Added lossless compression support for JpegXL
- Fixed cv::imread() implementation for 16-bit png with libspng back-end

Highgui Module:
- displayOverlay doesn't disappear after timeout
- Fix closing of windows when using the Qt backend
- Fixed QT window resize regression

G-API module:
- Workaround for successfull append of OpenVINO Execution Provider: Moved creation of 'Ort::Env' before it
- Adding AddRgbFeature(), and improving robustness in ComputeRgbDistance
- Added MS Media Foundation availability check in G-API too

Video Module:
- Added trackers factory with pre-loaded dnn models

HAL:
- Extracted HAL implementations as dedicated folder
- Implemented new HAL for RISC-V RVV 1.0 platforms, see all changes by query
- Refactored OpenVX implementation as HAL
- Partially refactored Intel IPP integration as HAL
- Fixed HALs dependency from thre cv namespace
- Updated KleidiCV HAL for ARM to version 0.5
- Extended FastCV HAL for Qualcomm platforms
- Added new HAL entries for cv::sum

Python, Java and JavaScript bindings:
- Added conditional inclusion support to header parser
- Updated predefined_types.py
- Added bindings for animations
- Fix wrong python type hints for cv::imread
- Replaced tostring() and fromstring() call in tests and samples for compatibility with modern Python
- Replaced ndarray.ptp() with np.ptp() for NumPy 2.0 Compatibility
- Extended Java bindings generation in DNN
- Fixed std::vector<Point3f> handling in JS wrappers
- Added cv::VideoCapture buffered stream constructor into Java
- Extended bindings for cv::HoughLinesWithAccumulator
- Fixed Kotlin 2.0 internal error for unsafe coercions

Platforms support:
- Fixed OpenBLAS detection on Linux
- Fixed compatibility with CMake 4
- Fixed Android build with Vulkan support
- Fixed VSX intrinsics (Power) implementation
- Added CMake checks for getauxval and elf_aux_info for POWER architecture
- Fixed build for openBSD
- Added initial support for Nvidia Blackwell GPU arch in CUDA
- Fixed cv namespace dependency in Carotene HAL
- Fixed _DEBUG/NDEBUG handling across modules
- Fixed build for QNX 7.0
- Switched to statically linked FastCV
- Forced C++17 Standard for CUDA targets when CUDA Toolkit >=12.8
- Fixed build for Windows ARM64EC
- Fixed filesystem support under Cygwin environment