You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/// <param name="image">input image necessary for corner subpixel.</param>
245
+
/// <param name="markerCorners">list of detected marker corners from detectMarkers function.</param>
246
+
/// <param name="markerIds">list of marker ids in markerCorners.</param>
247
+
/// <param name="squareMarkerLengthRate">rate between square and marker length: squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.</param>
248
+
/// <param name="diamondCorners">output list of detected diamond corners (4 corners per diamond). The order is the same than in marker corners: top left, top right, bottom right and bottom left. Similar format than the corners returned by detectMarkers (e.g std::vector<std::vector<cv::Point2f>>).</param>
249
+
/// <param name="diamondIds">ids of the diamonds in diamondCorners. The id of each diamond is in fact of type Vec4i, so each diamond has 4 ids, which are the ids of the aruco markers composing the diamond.</param>
250
+
/// <param name="cameraMatrix">Optional camera calibration matrix.</param>
251
+
/// <param name="distCoeffs">Optional camera distortion coefficients.</param>
/// Draw a set of detected ChArUco Diamond markers.
298
+
/// </summary>
299
+
/// <param name="image">input/output image. It must have 1 or 3 channels. The number of channels is not altered.</param>
300
+
/// <param name="diamondCorners">positions of diamond corners in the same format returned by detectCharucoDiamond(). (e.g std::vector<std::vector<cv::Point2f>>). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise.</param>
301
+
/// <param name="diamondIds">vector of identifiers for diamonds in diamondCorners, in the same format returned by detectCharucoDiamond() (e.g. std::vector<Vec4i>). Optional, if not provided, ids are not painted.</param>
/// Draw a set of detected ChArUco Diamond markers.
309
+
/// </summary>
310
+
/// <param name="image">input/output image. It must have 1 or 3 channels. The number of channels is not altered.</param>
311
+
/// <param name="diamondCorners">positions of diamond corners in the same format returned by detectCharucoDiamond(). (e.g std::vector<std::vector<cv::Point2f>>). For N detected markers, the dimensions of this array should be Nx4. The order of the corners should be clockwise.</param>
312
+
/// <param name="diamondIds">vector of identifiers for diamonds in diamondCorners, in the same format returned by detectCharucoDiamond() (e.g. std::vector<Vec4i>). Optional, if not provided, ids are not painted.</param>
313
+
/// <param name="borderColor">color of marker borders. Rest of colors (text color and first corner color) are calculated based on this one.</param>
Copy file name to clipboardExpand all lines: src/OpenCvSharp/Modules/aruco/DetectorParameters.cs
+96-1Lines changed: 96 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,5 @@
1
-
usingSystem.Runtime.InteropServices;
1
+
usingSystem;
2
+
usingSystem.Runtime.InteropServices;
2
3
3
4
namespaceOpenCvSharp.Aruco
4
5
{
@@ -213,6 +214,91 @@ public double ErrorCorrectionRate
213
214
set=>Native.errorCorrectionRate=value;
214
215
}
215
216
217
+
/// <summary>
218
+
/// Detection of quads can be done on a lower-resolution image, improving speed at a cost of pose accuracy and a slight decrease in detection rate.
219
+
/// Decoding the binary payload is still done at full resolution.
220
+
/// </summary>
221
+
publicfloatAprilTagQuadDecimate
222
+
{
223
+
get=>Native.aprilTagQuadDecimate;
224
+
set=>Native.aprilTagQuadDecimate=value;
225
+
}
226
+
227
+
/// <summary>
228
+
/// What Gaussian blur should be applied to the segmented image (used for quad detection?) Parameter is the standard deviation in pixels.
229
+
/// Very noisy images benefit from non-zero values (e.g. 0.8).
230
+
/// </summary>
231
+
publicfloatAprilTagQuadSigma
232
+
{
233
+
get=>Native.aprilTagQuadSigma;
234
+
set=>Native.aprilTagQuadSigma=value;
235
+
}
236
+
237
+
/// <summary>
238
+
/// reject quads containing too few pixels.
239
+
/// </summary>
240
+
publicintAprilTagMinClusterPixels
241
+
{
242
+
get=>Native.aprilTagMinClusterPixels;
243
+
set=>Native.aprilTagMinClusterPixels=value;
244
+
}
245
+
246
+
/// <summary>
247
+
/// how many corner candidates to consider when segmenting a group of pixels into a quad.
248
+
/// </summary>
249
+
publicintAprilTagMaxNmaxima
250
+
{
251
+
get=>Native.aprilTagMaxNmaxima;
252
+
set=>Native.aprilTagMaxNmaxima=value;
253
+
}
254
+
255
+
/// <summary>
256
+
/// Reject quads where pairs of edges have angles that are close to straight or close to 180 degrees. Zero means that no quads are rejected. (In radians).
257
+
/// </summary>
258
+
publicfloatAprilTagCriticalRad
259
+
{
260
+
get=>Native.aprilTagCriticalRad;
261
+
set=>Native.aprilTagCriticalRad=value;
262
+
}
263
+
264
+
/// <summary>
265
+
/// When fitting lines to the contours, what is the maximum mean squared error allowed?
266
+
/// This is useful in rejecting contours that are far from being quad shaped; rejecting these quads "early" saves expensive decoding processing.
267
+
/// </summary>
268
+
publicfloatAprilTagMaxLineFitMse
269
+
{
270
+
get=>Native.aprilTagMaxLineFitMse;
271
+
set=>Native.aprilTagMaxLineFitMse=value;
272
+
}
273
+
274
+
/// <summary>
275
+
/// should the thresholded image be deglitched? Only useful for very noisy images
/// When we build our model of black & white pixels, we add an extra check that the white model must be (overall) brighter than the black model.
285
+
/// How much brighter? (in pixel values, [0,255]).
286
+
/// </summary>
287
+
publicintAprilTagMinWhiteBlackDiff
288
+
{
289
+
get=>Native.aprilTagMinWhiteBlackDiff;
290
+
set=>Native.aprilTagMinWhiteBlackDiff=value;
291
+
}
292
+
293
+
/// <summary>
294
+
/// to check if there is a white marker. In order to generate a "white" marker just invert a normal marker by using a tilde, ~markerImage. (default false)
0 commit comments