Skip to content

Commit ac45905

Browse files
committed
0.44.0 Regenerate bindings
1 parent 4302aa2 commit ac45905

File tree

392 files changed

+18417
-14747
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

392 files changed

+18417
-14747
lines changed

CHANGES.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
* 0.44.0
2+
* Add support for ovis module
3+
* Add implementation of Ptr::new for non-abstract types
4+
* Rework string handling, that fixed core::convert_type_str() function which was handling memory very unsafely before
5+
* Internal refactor of cpp const handling, that changed the internal function identifiers
6+
17
* 0.43.3
28
* Test with the newly released OpenCV 3.4.11 and 4.4.0
39
* Internal cleanups and CI fixes

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ repository = "https://github.com/twistedfall/opencv-rust"
66
readme = "README.md"
77
keywords = ["opencv", "vision"]
88
license = "MIT"
9-
version = "0.43.3"
9+
version = "0.44.0"
1010
edition = "2018"
1111
authors = ["Mathieu Poumeyrol <[email protected]>", "Pro <[email protected]>"]
1212
autoexamples = false # cuda example doesn't compile on just any system
@@ -57,7 +57,7 @@ contrib = []
5757
docs-only = []
5858

5959
[build-dependencies]
60-
binding-generator = { package = "opencv-binding-generator", version = "0.16.2", path = "binding-generator", optional = true }
60+
binding-generator = { package = "opencv-binding-generator", version = "0.17.0", path = "binding-generator", optional = true }
6161
cc = { version = "1.0", features = ["parallel"] }
6262
clang = { version = "0.24", features = ["clang_6_0"], optional = true }
6363
glob = "0.3"

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,17 @@ Make sure the supported OpenCV version (3.2, 3.4 or 4.x) is installed in your sy
1414

1515
Update your Cargo.toml
1616
```toml
17-
opencv = "0.43"
17+
opencv = "0.44"
1818
```
1919

2020
Select OpenCV version if different from default (opencv-4) in Cargo.toml:
2121
```toml
22-
opencv = {version = "0.43", default-features = false, features = ["opencv-34", "buildtime-bindgen"]}
22+
opencv = {version = "0.44", default-features = false, features = ["opencv-34", "buildtime-bindgen"]}
2323
```
2424

2525
Or enable usage of `contrib` modules:
2626
```toml
27-
opencv = {version = "0.43", features = ["contrib"]}
27+
opencv = {version = "0.44", features = ["contrib"]}
2828
```
2929

3030
Import prelude

binding-generator/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "opencv-binding-generator"
33
description = "Binding generator for opencv crate"
44
repository = "https://github.com/twistedfall/opencv-rust"
5-
version = "0.16.2"
5+
version = "0.17.0"
66
license = "MIT"
77
authors = ["Pro <[email protected]>"]
88
edition = "2018"

bindings/cpp/opencv_32/aruco.cpp

Lines changed: 51 additions & 51 deletions
Large diffs are not rendered by default.
Lines changed: 59 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
template struct Result<bool>;
2+
template struct Result<const cv::Ptr<cv::aruco::Board>*>;
3+
template struct Result<const cv::Ptr<cv::aruco::CharucoBoard>*>;
4+
template struct Result<const cv::Ptr<cv::aruco::DetectorParameters>*>;
5+
template struct Result<const cv::Ptr<cv::aruco::Dictionary>*>;
26
template struct Result<cv::Mat*>;
37
template struct Result<cv::Ptr<cv::aruco::Board>*>;
48
template struct Result<cv::Ptr<cv::aruco::CharucoBoard>*>;
@@ -17,43 +21,73 @@ template struct Result<std::vector<cv::Vec<float, 3>>*>;
1721
template struct Result<std::vector<int>*>;
1822
template struct Result<std::vector<std::vector<cv::Point3_<float>>>*>;
1923
template struct Result<std::vector<std::vector<int>>*>;
20-
extern "C" void cv_PtrOfBoard_delete(cv::Ptr<cv::aruco::Board>* instance) {
21-
delete instance;
22-
}
24+
extern "C" {
25+
cv::Ptr<cv::aruco::Board>* cv_PtrOfBoard_new(cv::aruco::Board* val) {
26+
return new cv::Ptr<cv::aruco::Board>(val);
27+
}
28+
29+
void cv_PtrOfBoard_delete(cv::Ptr<cv::aruco::Board>* instance) {
30+
delete instance;
31+
}
2332

24-
extern "C" cv::aruco::Board* cv_PtrOfBoard_get_inner_ptr(cv::Ptr<cv::aruco::Board>* instance) {
25-
return instance->get();
33+
cv::aruco::Board* cv_PtrOfBoard_get_inner_ptr(cv::Ptr<cv::aruco::Board>* instance) {
34+
return instance->get();
35+
}
2636
}
2737

28-
extern "C" void cv_PtrOfCharucoBoard_delete(cv::Ptr<cv::aruco::CharucoBoard>* instance) {
29-
delete instance;
30-
}
38+
extern "C" {
39+
cv::Ptr<cv::aruco::CharucoBoard>* cv_PtrOfCharucoBoard_new(cv::aruco::CharucoBoard* val) {
40+
return new cv::Ptr<cv::aruco::CharucoBoard>(val);
41+
}
42+
43+
void cv_PtrOfCharucoBoard_delete(cv::Ptr<cv::aruco::CharucoBoard>* instance) {
44+
delete instance;
45+
}
3146

32-
extern "C" cv::aruco::CharucoBoard* cv_PtrOfCharucoBoard_get_inner_ptr(cv::Ptr<cv::aruco::CharucoBoard>* instance) {
33-
return instance->get();
47+
cv::aruco::CharucoBoard* cv_PtrOfCharucoBoard_get_inner_ptr(cv::Ptr<cv::aruco::CharucoBoard>* instance) {
48+
return instance->get();
49+
}
3450
}
3551

36-
extern "C" void cv_PtrOfDetectorParameters_delete(cv::Ptr<cv::aruco::DetectorParameters>* instance) {
37-
delete instance;
38-
}
52+
extern "C" {
53+
cv::Ptr<cv::aruco::DetectorParameters>* cv_PtrOfDetectorParameters_new(cv::aruco::DetectorParameters* val) {
54+
return new cv::Ptr<cv::aruco::DetectorParameters>(val);
55+
}
56+
57+
void cv_PtrOfDetectorParameters_delete(cv::Ptr<cv::aruco::DetectorParameters>* instance) {
58+
delete instance;
59+
}
3960

40-
extern "C" cv::aruco::DetectorParameters* cv_PtrOfDetectorParameters_get_inner_ptr(cv::Ptr<cv::aruco::DetectorParameters>* instance) {
41-
return instance->get();
61+
cv::aruco::DetectorParameters* cv_PtrOfDetectorParameters_get_inner_ptr(cv::Ptr<cv::aruco::DetectorParameters>* instance) {
62+
return instance->get();
63+
}
4264
}
4365

44-
extern "C" void cv_PtrOfDictionary_delete(cv::Ptr<cv::aruco::Dictionary>* instance) {
45-
delete instance;
46-
}
66+
extern "C" {
67+
cv::Ptr<cv::aruco::Dictionary>* cv_PtrOfDictionary_new(cv::aruco::Dictionary* val) {
68+
return new cv::Ptr<cv::aruco::Dictionary>(val);
69+
}
70+
71+
void cv_PtrOfDictionary_delete(cv::Ptr<cv::aruco::Dictionary>* instance) {
72+
delete instance;
73+
}
4774

48-
extern "C" cv::aruco::Dictionary* cv_PtrOfDictionary_get_inner_ptr(cv::Ptr<cv::aruco::Dictionary>* instance) {
49-
return instance->get();
75+
cv::aruco::Dictionary* cv_PtrOfDictionary_get_inner_ptr(cv::Ptr<cv::aruco::Dictionary>* instance) {
76+
return instance->get();
77+
}
5078
}
5179

52-
extern "C" void cv_PtrOfGridBoard_delete(cv::Ptr<cv::aruco::GridBoard>* instance) {
53-
delete instance;
54-
}
80+
extern "C" {
81+
cv::Ptr<cv::aruco::GridBoard>* cv_PtrOfGridBoard_new(cv::aruco::GridBoard* val) {
82+
return new cv::Ptr<cv::aruco::GridBoard>(val);
83+
}
84+
85+
void cv_PtrOfGridBoard_delete(cv::Ptr<cv::aruco::GridBoard>* instance) {
86+
delete instance;
87+
}
5588

56-
extern "C" cv::aruco::GridBoard* cv_PtrOfGridBoard_get_inner_ptr(cv::Ptr<cv::aruco::GridBoard>* instance) {
57-
return instance->get();
89+
cv::aruco::GridBoard* cv_PtrOfGridBoard_get_inner_ptr(cv::Ptr<cv::aruco::GridBoard>* instance) {
90+
return instance->get();
91+
}
5892
}
5993

bindings/cpp/opencv_32/bgsegm.cpp

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ extern "C" {
2020
Result<int> cv_bgsegm_BackgroundSubtractorGMG_getMaxFeatures_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
2121
try {
2222
int ret = instance->getMaxFeatures();
23-
return Ok(ret);
23+
return Ok<int>(ret);
2424
} OCVRS_CATCH(OCVRS_TYPE(Result<int>))
2525
}
2626

@@ -34,7 +34,7 @@ extern "C" {
3434
Result<double> cv_bgsegm_BackgroundSubtractorGMG_getDefaultLearningRate_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
3535
try {
3636
double ret = instance->getDefaultLearningRate();
37-
return Ok(ret);
37+
return Ok<double>(ret);
3838
} OCVRS_CATCH(OCVRS_TYPE(Result<double>))
3939
}
4040

@@ -48,7 +48,7 @@ extern "C" {
4848
Result<int> cv_bgsegm_BackgroundSubtractorGMG_getNumFrames_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
4949
try {
5050
int ret = instance->getNumFrames();
51-
return Ok(ret);
51+
return Ok<int>(ret);
5252
} OCVRS_CATCH(OCVRS_TYPE(Result<int>))
5353
}
5454

@@ -62,7 +62,7 @@ extern "C" {
6262
Result<int> cv_bgsegm_BackgroundSubtractorGMG_getQuantizationLevels_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
6363
try {
6464
int ret = instance->getQuantizationLevels();
65-
return Ok(ret);
65+
return Ok<int>(ret);
6666
} OCVRS_CATCH(OCVRS_TYPE(Result<int>))
6767
}
6868

@@ -76,7 +76,7 @@ extern "C" {
7676
Result<double> cv_bgsegm_BackgroundSubtractorGMG_getBackgroundPrior_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
7777
try {
7878
double ret = instance->getBackgroundPrior();
79-
return Ok(ret);
79+
return Ok<double>(ret);
8080
} OCVRS_CATCH(OCVRS_TYPE(Result<double>))
8181
}
8282

@@ -90,7 +90,7 @@ extern "C" {
9090
Result<int> cv_bgsegm_BackgroundSubtractorGMG_getSmoothingRadius_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
9191
try {
9292
int ret = instance->getSmoothingRadius();
93-
return Ok(ret);
93+
return Ok<int>(ret);
9494
} OCVRS_CATCH(OCVRS_TYPE(Result<int>))
9595
}
9696

@@ -104,7 +104,7 @@ extern "C" {
104104
Result<double> cv_bgsegm_BackgroundSubtractorGMG_getDecisionThreshold_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
105105
try {
106106
double ret = instance->getDecisionThreshold();
107-
return Ok(ret);
107+
return Ok<double>(ret);
108108
} OCVRS_CATCH(OCVRS_TYPE(Result<double>))
109109
}
110110

@@ -118,7 +118,7 @@ extern "C" {
118118
Result<bool> cv_bgsegm_BackgroundSubtractorGMG_getUpdateBackgroundModel_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
119119
try {
120120
bool ret = instance->getUpdateBackgroundModel();
121-
return Ok(ret);
121+
return Ok<bool>(ret);
122122
} OCVRS_CATCH(OCVRS_TYPE(Result<bool>))
123123
}
124124

@@ -132,7 +132,7 @@ extern "C" {
132132
Result<double> cv_bgsegm_BackgroundSubtractorGMG_getMinVal_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
133133
try {
134134
double ret = instance->getMinVal();
135-
return Ok(ret);
135+
return Ok<double>(ret);
136136
} OCVRS_CATCH(OCVRS_TYPE(Result<double>))
137137
}
138138

@@ -146,7 +146,7 @@ extern "C" {
146146
Result<double> cv_bgsegm_BackgroundSubtractorGMG_getMaxVal_const(const cv::bgsegm::BackgroundSubtractorGMG* instance) {
147147
try {
148148
double ret = instance->getMaxVal();
149-
return Ok(ret);
149+
return Ok<double>(ret);
150150
} OCVRS_CATCH(OCVRS_TYPE(Result<double>))
151151
}
152152

@@ -160,7 +160,7 @@ extern "C" {
160160
Result<int> cv_bgsegm_BackgroundSubtractorMOG_getHistory_const(const cv::bgsegm::BackgroundSubtractorMOG* instance) {
161161
try {
162162
int ret = instance->getHistory();
163-
return Ok(ret);
163+
return Ok<int>(ret);
164164
} OCVRS_CATCH(OCVRS_TYPE(Result<int>))
165165
}
166166

@@ -174,7 +174,7 @@ extern "C" {
174174
Result<int> cv_bgsegm_BackgroundSubtractorMOG_getNMixtures_const(const cv::bgsegm::BackgroundSubtractorMOG* instance) {
175175
try {
176176
int ret = instance->getNMixtures();
177-
return Ok(ret);
177+
return Ok<int>(ret);
178178
} OCVRS_CATCH(OCVRS_TYPE(Result<int>))
179179
}
180180

@@ -188,7 +188,7 @@ extern "C" {
188188
Result<double> cv_bgsegm_BackgroundSubtractorMOG_getBackgroundRatio_const(const cv::bgsegm::BackgroundSubtractorMOG* instance) {
189189
try {
190190
double ret = instance->getBackgroundRatio();
191-
return Ok(ret);
191+
return Ok<double>(ret);
192192
} OCVRS_CATCH(OCVRS_TYPE(Result<double>))
193193
}
194194

@@ -202,7 +202,7 @@ extern "C" {
202202
Result<double> cv_bgsegm_BackgroundSubtractorMOG_getNoiseSigma_const(const cv::bgsegm::BackgroundSubtractorMOG* instance) {
203203
try {
204204
double ret = instance->getNoiseSigma();
205-
return Ok(ret);
205+
return Ok<double>(ret);
206206
} OCVRS_CATCH(OCVRS_TYPE(Result<double>))
207207
}
208208

bindings/cpp/opencv_32/bgsegm_types.hpp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,23 @@ template struct Result<cv::Ptr<cv::bgsegm::BackgroundSubtractorGMG>*>;
33
template struct Result<cv::Ptr<cv::bgsegm::BackgroundSubtractorMOG>*>;
44
template struct Result<double>;
55
template struct Result<int>;
6-
extern "C" void cv_PtrOfBackgroundSubtractorGMG_delete(cv::Ptr<cv::bgsegm::BackgroundSubtractorGMG>* instance) {
7-
delete instance;
8-
}
6+
extern "C" {
7+
void cv_PtrOfBackgroundSubtractorGMG_delete(cv::Ptr<cv::bgsegm::BackgroundSubtractorGMG>* instance) {
8+
delete instance;
9+
}
910

10-
extern "C" cv::bgsegm::BackgroundSubtractorGMG* cv_PtrOfBackgroundSubtractorGMG_get_inner_ptr(cv::Ptr<cv::bgsegm::BackgroundSubtractorGMG>* instance) {
11-
return instance->get();
11+
cv::bgsegm::BackgroundSubtractorGMG* cv_PtrOfBackgroundSubtractorGMG_get_inner_ptr(cv::Ptr<cv::bgsegm::BackgroundSubtractorGMG>* instance) {
12+
return instance->get();
13+
}
1214
}
1315

14-
extern "C" void cv_PtrOfBackgroundSubtractorMOG_delete(cv::Ptr<cv::bgsegm::BackgroundSubtractorMOG>* instance) {
15-
delete instance;
16-
}
16+
extern "C" {
17+
void cv_PtrOfBackgroundSubtractorMOG_delete(cv::Ptr<cv::bgsegm::BackgroundSubtractorMOG>* instance) {
18+
delete instance;
19+
}
1720

18-
extern "C" cv::bgsegm::BackgroundSubtractorMOG* cv_PtrOfBackgroundSubtractorMOG_get_inner_ptr(cv::Ptr<cv::bgsegm::BackgroundSubtractorMOG>* instance) {
19-
return instance->get();
21+
cv::bgsegm::BackgroundSubtractorMOG* cv_PtrOfBackgroundSubtractorMOG_get_inner_ptr(cv::Ptr<cv::bgsegm::BackgroundSubtractorMOG>* instance) {
22+
return instance->get();
23+
}
2024
}
2125

0 commit comments

Comments
 (0)