Skip to content

Commit ed8675a

Browse files
committed
add C++ wrappers of superres properties
1 parent 84040c6 commit ed8675a

File tree

3 files changed

+97
-29
lines changed

3 files changed

+97
-29
lines changed

OpenCvSharp.sln.DotSettings

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateStaticReadonly/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String>
88
<s:Boolean x:Key="/Default/UserDictionary/Words/=AGAST/@EntryIndexedValue">True</s:Boolean>
99
<s:Boolean x:Key="/Default/UserDictionary/Words/=Coeffs/@EntryIndexedValue">True</s:Boolean>
10+
<s:Boolean x:Key="/Default/UserDictionary/Words/=Farneback/@EntryIndexedValue">True</s:Boolean>
1011
<s:Boolean x:Key="/Default/UserDictionary/Words/=grayscale/@EntryIndexedValue">True</s:Boolean>
1112
<s:Boolean x:Key="/Default/UserDictionary/Words/=homography/@EntryIndexedValue">True</s:Boolean>
1213
<s:Boolean x:Key="/Default/UserDictionary/Words/=inlier/@EntryIndexedValue">True</s:Boolean>
@@ -19,6 +20,7 @@
1920
<s:Boolean x:Key="/Default/UserDictionary/Words/=reproject/@EntryIndexedValue">True</s:Boolean>
2021
<s:Boolean x:Key="/Default/UserDictionary/Words/=reprojection/@EntryIndexedValue">True</s:Boolean>
2122
<s:Boolean x:Key="/Default/UserDictionary/Words/=Rodrigues/@EntryIndexedValue">True</s:Boolean>
23+
<s:Boolean x:Key="/Default/UserDictionary/Words/=superres/@EntryIndexedValue">True</s:Boolean>
2224
<s:Boolean x:Key="/Default/UserDictionary/Words/=uchar/@EntryIndexedValue">True</s:Boolean>
2325
<s:Boolean x:Key="/Default/UserDictionary/Words/=Undistort/@EntryIndexedValue">True</s:Boolean>
2426
<s:Boolean x:Key="/Default/UserDictionary/Words/=Writeable/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>

src/OpenCvSharpExtern/superres.h

Lines changed: 94 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ CVAPI(void) superres_Ptr_FrameSource_delete(cv::Ptr<cv::superres::FrameSource> *
4040
delete ptr;
4141
}
4242

43+
#pragma region SuperResolution
4344

4445
CVAPI(void) superres_SuperResolution_setInput(
4546
cv::superres::SuperResolution *obj, cv::Ptr<cv::superres::FrameSource> *frameSource)
@@ -68,11 +69,6 @@ CVAPI(cv::Ptr<cv::superres::SuperResolution>*) superres_createSuperResolution_BT
6869
{
6970
return clone( cv::superres::createSuperResolution_BTVL1_CUDA() );
7071
}
71-
/*
72-
CVAPI(cv::Ptr<cv::superres::SuperResolution>*) superres_createSuperResolution_BTVL1_OCL()
73-
{
74-
return clone( cv::superres::createSuperResolution_BTVL1_OCL() );
75-
}*/
7672

7773
CVAPI(cv::superres::SuperResolution*) superres_Ptr_SuperResolution_get(
7874
cv::Ptr<cv::superres::SuperResolution> *ptr)
@@ -84,6 +80,34 @@ CVAPI(void) superres_Ptr_SuperResolution_delete(cv::Ptr<cv::superres::SuperResol
8480
delete ptr;
8581
}
8682

83+
CVAPI(int) superres_SuperResolution_getScale(cv::superres::SuperResolution *obj) { return obj->getScale(); }
84+
CVAPI(void) superres_SuperResolution_setScale(cv::superres::SuperResolution *obj, int val) { obj->setScale(val); }
85+
CVAPI(int) superres_SuperResolution_getIterations(cv::superres::SuperResolution *obj) { return obj->getIterations(); }
86+
CVAPI(void) superres_SuperResolution_setIterations(cv::superres::SuperResolution *obj, int val) { obj->setIterations(val); }
87+
CVAPI(double) superres_SuperResolution_getTau(cv::superres::SuperResolution *obj) { return obj->getTau(); }
88+
CVAPI(void) superres_SuperResolution_setTau(cv::superres::SuperResolution *obj, double val) { obj->setTau(val); }
89+
CVAPI(double) superres_SuperResolution_getLabmda(cv::superres::SuperResolution *obj) { return obj->getLabmda(); } // TODO typo!
90+
CVAPI(void) superres_SuperResolution_setLabmda(cv::superres::SuperResolution *obj, double val) { obj->setLabmda(val); } // TODO typo!
91+
CVAPI(double) superres_SuperResolution_getAlpha(cv::superres::SuperResolution *obj) { return obj->getAlpha(); }
92+
CVAPI(void) superres_SuperResolution_setAlpha(cv::superres::SuperResolution *obj, double val) { obj->setAlpha(val); }
93+
CVAPI(int) superres_SuperResolution_getKernelSize(cv::superres::SuperResolution *obj) { return obj->getKernelSize(); }
94+
CVAPI(void) superres_SuperResolution_setKernelSize(cv::superres::SuperResolution *obj, int val) { obj->setKernelSize(val); }
95+
CVAPI(int) superres_SuperResolution_getBlurKernelSize(cv::superres::SuperResolution *obj) { return obj->getBlurKernelSize(); }
96+
CVAPI(void) superres_SuperResolution_setBlurKernelSize(cv::superres::SuperResolution *obj, int val) { obj->setBlurKernelSize(val); }
97+
CVAPI(double) superres_SuperResolution_getBlurSigma(cv::superres::SuperResolution *obj) { return obj->getBlurSigma(); }
98+
CVAPI(void) superres_SuperResolution_setBlurSigma(cv::superres::SuperResolution *obj, double val) { obj->setBlurSigma(val); }
99+
CVAPI(int) superres_SuperResolution_getTemporalAreaRadius(cv::superres::SuperResolution *obj) { return obj->getTemporalAreaRadius(); }
100+
CVAPI(void) superres_SuperResolution_setTemporalAreaRadius(cv::superres::SuperResolution *obj, int val) { obj->setTemporalAreaRadius(val); }
101+
CVAPI(cv::Ptr<cv::superres::DenseOpticalFlowExt>*) superres_SuperResolution_getOpticalFlow(cv::superres::SuperResolution *obj)
102+
{
103+
return new cv::Ptr<cv::superres::DenseOpticalFlowExt>(obj->getOpticalFlow());
104+
}
105+
CVAPI(void) superres_SuperResolution_setOpticalFlow(cv::superres::SuperResolution *obj, cv::Ptr<cv::superres::DenseOpticalFlowExt> *val)
106+
{
107+
obj->setOpticalFlow(*val);
108+
}
109+
110+
#pragma endregion
87111

88112
CVAPI(void) superres_DenseOpticalFlowExt_calc(cv::superres::DenseOpticalFlowExt *obj,
89113
cv::_InputArray *frame0, cv::_InputArray *frame1, cv::_OutputArray *flow1, cv::_OutputArray *flow2)
@@ -106,6 +130,7 @@ CVAPI(void) superres_Ptr_DenseOpticalFlowExt_delete(
106130
delete ptr;
107131
}
108132

133+
#pragma region FarnebackOpticalFlow
109134
CVAPI(cv::Ptr<cv::superres::FarnebackOpticalFlow>*) superres_createOptFlow_Farneback()
110135
{
111136
return clone(cv::superres::createOptFlow_Farneback());
@@ -114,17 +139,24 @@ CVAPI(cv::Ptr<cv::superres::FarnebackOpticalFlow>*) superres_createOptFlow_Farne
114139
{
115140
return clone(cv::superres::createOptFlow_Farneback_CUDA());
116141
}
117-
/*
118-
CVAPI(cv::Ptr<cv::superres::DenseOpticalFlowExt>*) superres_createOptFlow_Farneback_OCL()
119-
{
120-
return clone(cv::superres::createOptFlow_Farneback_OCL());
121-
}
122-
*/
123-
/*
124-
CVAPI(cv::Ptr<cv::superres::DenseOpticalFlowExt>*) superres_createOptFlow_Simple()
125-
{
126-
return clone(cv::superres::createOptFlow_Simple());
127-
}*/
142+
CVAPI(double) superres_FarnebackOpticalFlow_getPyrScale(cv::superres::FarnebackOpticalFlow *obj) { return obj->getPyrScale(); }
143+
CVAPI(void) superres_FarnebackOpticalFlow_setPyrScale(cv::superres::FarnebackOpticalFlow *obj, double val) { obj->setPyrScale(val); }
144+
CVAPI(int) superres_FarnebackOpticalFlow_getLevelsNumber(cv::superres::FarnebackOpticalFlow *obj) { return obj->getLevelsNumber(); }
145+
CVAPI(void) superres_FarnebackOpticalFlow_setLevelsNumber(cv::superres::FarnebackOpticalFlow *obj, int val) { obj->setLevelsNumber(val); }
146+
CVAPI(int) superres_FarnebackOpticalFlow_getWindowSize(cv::superres::FarnebackOpticalFlow *obj) { return obj->getWindowSize(); }
147+
CVAPI(void) superres_FarnebackOpticalFlow_setWindowSize(cv::superres::FarnebackOpticalFlow *obj, int val) { obj->setWindowSize(val); }
148+
CVAPI(int) superres_FarnebackOpticalFlow_getIterations(cv::superres::FarnebackOpticalFlow *obj) { return obj->getIterations(); }
149+
CVAPI(void) superres_FarnebackOpticalFlow_setIterations(cv::superres::FarnebackOpticalFlow *obj, int val) { obj->setIterations(val); }
150+
CVAPI(int) superres_FarnebackOpticalFlow_getPolyN(cv::superres::FarnebackOpticalFlow *obj) { return obj->getPolyN(); }
151+
CVAPI(void) superres_FarnebackOpticalFlow_setPolyN(cv::superres::FarnebackOpticalFlow *obj, int val) { obj->setPolyN(val); }
152+
CVAPI(double) superres_FarnebackOpticalFlow_getPolySigma(cv::superres::FarnebackOpticalFlow *obj) { return obj->getPolySigma(); }
153+
CVAPI(void) superres_FarnebackOpticalFlow_setPolySigma(cv::superres::FarnebackOpticalFlow *obj, double val) { obj->setPolySigma(val); }
154+
CVAPI(int) superres_FarnebackOpticalFlow_getFlags(cv::superres::FarnebackOpticalFlow *obj) { return obj->getFlags(); }
155+
CVAPI(void) superres_FarnebackOpticalFlow_setFlags(cv::superres::FarnebackOpticalFlow *obj, int val) { obj->setFlags(val); }
156+
157+
#pragma endregion
158+
159+
#pragma region DualTVL1OpticalFlow
128160
CVAPI(cv::Ptr<cv::superres::DualTVL1OpticalFlow>*) superres_createOptFlow_DualTVL1()
129161
{
130162
return clone(cv::superres::createOptFlow_DualTVL1());
@@ -133,25 +165,59 @@ CVAPI(cv::Ptr<cv::superres::DualTVL1OpticalFlow>*) superres_createOptFlow_DualTV
133165
{
134166
return clone(cv::superres::createOptFlow_DualTVL1_CUDA());
135167
}
136-
/*
137-
CVAPI(cv::Ptr<cv::superres::DenseOpticalFlowExt>*) superres_createOptFlow_DualTVL1_OCL()
138-
{
139-
return clone(cv::superres::createOptFlow_DualTVL1_OCL());
140-
}
141-
*/
168+
169+
CVAPI(double) superres_DualTVL1OpticalFlow_getTau(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getTau(); }
170+
CVAPI(void) superres_DualTVL1OpticalFlow_setTau(cv::superres::DualTVL1OpticalFlow *obj, double val) { obj->setTau(val); }
171+
CVAPI(double) superres_DualTVL1OpticalFlow_getLambda(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getLambda(); }
172+
CVAPI(void) superres_DualTVL1OpticalFlow_setLambda(cv::superres::DualTVL1OpticalFlow *obj, double val) { obj->setLambda(val); }
173+
CVAPI(double) superres_DualTVL1OpticalFlow_getTheta(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getTheta(); }
174+
CVAPI(void) superres_DualTVL1OpticalFlow_setTheta(cv::superres::DualTVL1OpticalFlow *obj, double val) { obj->setTheta(val); }
175+
CVAPI(int) superres_DualTVL1OpticalFlow_getScalesNumber(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getScalesNumber(); }
176+
CVAPI(void) superres_DualTVL1OpticalFlow_setScalesNumber(cv::superres::DualTVL1OpticalFlow *obj, int val) { obj->setScalesNumber(val); }
177+
CVAPI(int) superres_DualTVL1OpticalFlow_getWarpingsNumber(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getWarpingsNumber(); }
178+
CVAPI(void) superres_DualTVL1OpticalFlow_setWarpingsNumber(cv::superres::DualTVL1OpticalFlow *obj, int val) { obj->setWarpingsNumber(val); }
179+
CVAPI(double) superres_DualTVL1OpticalFlow_getEpsilon(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getEpsilon(); }
180+
CVAPI(void) superres_DualTVL1OpticalFlow_setEpsilon(cv::superres::DualTVL1OpticalFlow *obj, double val) { obj->setEpsilon(val); }
181+
CVAPI(int) superres_DualTVL1OpticalFlow_getIterations(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getIterations(); }
182+
CVAPI(void) superres_DualTVL1OpticalFlow_setIterations(cv::superres::DualTVL1OpticalFlow *obj, int val) { obj->setIterations(val); }
183+
CVAPI(bool) superres_DualTVL1OpticalFlow_getUseInitialFlow(cv::superres::DualTVL1OpticalFlow *obj) { return obj->getUseInitialFlow(); }
184+
CVAPI(void) superres_DualTVL1OpticalFlow_setUseInitialFlow(cv::superres::DualTVL1OpticalFlow *obj, bool val) { obj->setUseInitialFlow(val); }
185+
186+
#pragma endregion
187+
188+
#pragma region BroxOpticalFlow
142189
CVAPI(cv::Ptr<cv::superres::BroxOpticalFlow>*) superres_createOptFlow_Brox_CUDA()
143190
{
144191
return clone(cv::superres::createOptFlow_Brox_CUDA());
145192
}
193+
194+
CVAPI(double) superres_BroxOpticalFlow_getAlpha(cv::superres::BroxOpticalFlow *obj) { return obj->getAlpha(); }
195+
CVAPI(void) superres_BroxOpticalFlow_setAlpha(cv::superres::BroxOpticalFlow *obj, double val) { obj->setAlpha(val); }
196+
CVAPI(double) superres_BroxOpticalFlow_getGamma(cv::superres::BroxOpticalFlow *obj) { return obj->getGamma(); }
197+
CVAPI(void) superres_BroxOpticalFlow_setGamma(cv::superres::BroxOpticalFlow *obj, double val) { obj->setGamma(val); }
198+
CVAPI(double) superres_BroxOpticalFlow_getScaleFactor(cv::superres::BroxOpticalFlow *obj) { return obj->getScaleFactor(); }
199+
CVAPI(void) superres_BroxOpticalFlow_setScaleFactor(cv::superres::BroxOpticalFlow *obj, double val) { obj->setScaleFactor(val); }
200+
CVAPI(int) superres_BroxOpticalFlow_getInnerIterations(cv::superres::BroxOpticalFlow *obj) { return obj->getInnerIterations(); }
201+
CVAPI(void) superres_BroxOpticalFlow_setInnerIterations(cv::superres::BroxOpticalFlow *obj, int val) { obj->setInnerIterations(val); }
202+
CVAPI(int) superres_BroxOpticalFlow_getOuterIterations(cv::superres::BroxOpticalFlow *obj) { return obj->getOuterIterations(); }
203+
CVAPI(void) superres_BroxOpticalFlow_setOuterIterations(cv::superres::BroxOpticalFlow *obj, int val) { obj->setOuterIterations(val); }
204+
CVAPI(int) superres_BroxOpticalFlow_getSolverIterations(cv::superres::BroxOpticalFlow *obj) { return obj->getSolverIterations(); }
205+
CVAPI(void) superres_BroxOpticalFlow_setSolverIterations(cv::superres::BroxOpticalFlow *obj, int val) { obj->setSolverIterations(val); }
206+
#pragma endregion
207+
208+
#pragma region PyrLKOpticalFlow
146209
CVAPI(cv::Ptr<cv::superres::PyrLKOpticalFlow>*) superres_createOptFlow_PyrLK_CUDA()
147210
{
148211
return clone(cv::superres::createOptFlow_PyrLK_CUDA());
149212
}
150-
/*
151-
CVAPI(cv::Ptr<cv::superres::DenseOpticalFlowExt>*) superres_createOptFlow_PyrLK_OCL()
152-
{
153-
return clone(cv::superres::createOptFlow_PyrLK_OCL());
154-
}
155-
*/
213+
214+
CVAPI(int) superres_PyrLKOpticalFlow_getWindowSize(cv::superres::PyrLKOpticalFlow *obj) { return obj->getWindowSize(); }
215+
CVAPI(void) superres_PyrLKOpticalFlow_setWindowSize(cv::superres::PyrLKOpticalFlow *obj, int val) { obj->setWindowSize(val); }
216+
CVAPI(int) superres_PyrLKOpticalFlow_getMaxLevel(cv::superres::PyrLKOpticalFlow *obj) { return obj->getMaxLevel(); }
217+
CVAPI(void) superres_PyrLKOpticalFlow_setMaxLevel(cv::superres::PyrLKOpticalFlow *obj, int val) { obj->setMaxLevel(val); }
218+
CVAPI(int) superres_PyrLKOpticalFlow_getIterations(cv::superres::PyrLKOpticalFlow *obj) { return obj->getIterations(); }
219+
CVAPI(void) superres_PyrLKOpticalFlow_setIterations(cv::superres::PyrLKOpticalFlow *obj, int val) { obj->setIterations(val); }
220+
#pragma endregion
221+
156222

157223
#endif

0 commit comments

Comments
 (0)