0.64.0 Regenerate bindings
MODIFY
CHANGES.md
CHANGES.md
+* 0.64.0
+ * Fix documentation for conditional compilation macros.
+ * Make sure to generate `VectorOfPoint3f` and `VectorOfVectorOfPoint3f` for `calib3d` module.
+ * Disable generation of `merge_slice` function because it's not usable from Rust.
+
* 0.63.2
* Introduce macros that allow external crates to conditionally include code based on the OpenCV branch (3.2, 3.4 or 4).

MODIFY
Cargo.toml
Cargo.toml
@@ -6,7 +6,7 @@ repository = "https://github.com/twistedfall/opencv-rust"
readme = "README.md"
keywords = ["opencv", "vision"]
license = "MIT"
-version = "0.63.2"
+version = "0.64.0"
edition = "2018"
authors = ["Pro <twisted.fall@gmail.com>", "Mathieu Poumeyrol <kali@zoy.org>"]
autoexamples = false # not all examples compile on just any system
@@ -60,7 +60,7 @@ once_cell = "1.0"
rgb = { version = "0.8.20", features = ["argb"], optional = true }
[build-dependencies]
-binding-generator = { package = "opencv-binding-generator", version = "0.41.0", path = "binding-generator" }
+binding-generator = { package = "opencv-binding-generator", version = "0.42.0", path = "binding-generator" }
cc = { version = "1.0", features = ["parallel"] }
clang = { version = "1.0", features = ["clang_6_0"] }
dunce = "1.0"

MODIFY
README.md
README.md
@@ -15,7 +15,7 @@ generation) are installed in your system.
Update your Cargo.toml
```toml
-opencv = "0.63"
+opencv = "0.64"
```
Import prelude

MODIFY
binding-generator/Cargo.toml
binding-generator/Cargo.toml
name = "opencv-binding-generator"
description = "Binding generator for opencv crate"
repository = "https://github.com/twistedfall/opencv-rust"
-version = "0.41.0"
+version = "0.42.0"
license = "MIT"
authors = ["Pro <twisted.fall@gmail.com>"]
edition = "2018"

MODIFY
src/opencv/hub/core.rs
src/opencv/hub/core.rs
@@ -4626,36 +4626,6 @@ pub fn mean(src: &dyn core::ToInputArray, mask: &dyn core::ToInputArray) -> Resu
Ok(ret)
}
-/// Creates one multi-channel array out of several single-channel ones.
-///
-/// The function cv::merge merges several arrays to make a single multi-channel array. That is, each
-/// element of the output array will be a concatenation of the elements of the input arrays, where
-/// elements of i-th input array are treated as mv[i].channels()-element vectors.
-///
-/// The function cv::split does the reverse operation. If you need to shuffle channels in some other
-/// advanced way, use cv::mixChannels.
-///
-/// The following example shows how to merge 3 single channel matrices into a single 3-channel matrix.
-/// [example](https://github.com/opencv/opencv/blob/4.5.5/samples/cpp/tutorial_code/snippets/core_merge.cpp#L1)
-///
-/// ## Parameters
-/// * mv: input array of matrices to be merged; all the matrices in mv must have the same
-/// size and the same depth.
-/// * count: number of input matrices when mv is a plain C array; it must be greater than zero.
-/// * dst: output array of the same size and the same depth as mv[0]; The number of channels will
-/// be equal to the parameter count.
-/// ## See also
-/// mixChannels, split, Mat::reshape
-#[inline]
-pub fn merge_slice(mv: &core::Mat, count: size_t, dst: &mut dyn core::ToOutputArray) -> Result<()> {
- output_array_arg!(dst);
- return_send!(via ocvrs_return);
- unsafe { sys::cv_merge_const_MatX_size_t_const__OutputArrayR(mv.as_raw_Mat(), count, dst.as_raw__OutputArray(), ocvrs_return.as_mut_ptr()) };
- return_receive!(unsafe ocvrs_return => ret);
- let ret = ret.into_result()?;
- Ok(ret)
-}
-
/// Creates one multi-channel array out of several single-channel ones.
///
/// The function cv::merge merges several arrays to make a single multi-channel array. That is, each

MODIFY
src/opencv/hub/sys.rs
src/opencv/hub/sys.rs
@@ -641,7 +641,6 @@ mod core_sys {
pub fn cv_max_double_const_MatR(s: f64, a: *const c_void, ocvrs_return: *mut Result<*mut c_void>);
pub fn cv_meanStdDev_const__InputArrayR_const__OutputArrayR_const__OutputArrayR_const__InputArrayR(src: *const c_void, mean: *const c_void, stddev: *const c_void, mask: *const c_void, ocvrs_return: *mut Result_void);
pub fn cv_mean_const__InputArrayR_const__InputArrayR(src: *const c_void, mask: *const c_void, ocvrs_return: *mut Result<core::Scalar>);
- pub fn cv_merge_const_MatX_size_t_const__OutputArrayR(mv: *const c_void, count: size_t, dst: *const c_void, ocvrs_return: *mut Result_void);
pub fn cv_merge_const__InputArrayR_const__OutputArrayR(mv: *const c_void, dst: *const c_void, ocvrs_return: *mut Result_void);
pub fn cv_minMaxIdx_const__InputArrayR_doubleX_doubleX_intX_intX_const__InputArrayR(src: *const c_void, min_val: *mut f64, max_val: *mut f64, min_idx: *mut i32, max_idx: *mut i32, mask: *const c_void, ocvrs_return: *mut Result_void);
pub fn cv_minMaxLoc_const_SparseMatR_doubleX_doubleX_intX_intX(a: *const c_void, min_val: *mut f64, max_val: *mut f64, min_idx: *mut i32, max_idx: *mut i32, ocvrs_return: *mut Result_void);

0.64.0 Regenerate bindings