Skip to content

Commit c94963d

Browse files
shimatclaude
andcommitted
Fix C++ compile errors in aruco.h
- aruco_drawDetectedCornersCharuco: avoid ternary between _InputArray and _InputOutputArray (noArray()); use if-assignment instead - aruco_ArucoDetector_refineDetectedMarkers: entity() does not accept std::vector<int>*; use _OutputArray + if-assignment for recoveredIdxs Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 71a9a14 commit c94963d

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

src/OpenCvSharpExtern/aruco.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,8 @@ CVAPI(ExceptionStatus) aruco_drawDetectedCornersCharuco(
266266
MyCvScalar cornerColor)
267267
{
268268
BEGIN_WRAP
269-
const cv::_InputArray idArray = (ids != nullptr) ? cv::_InputArray(*ids) : cv::noArray();
269+
cv::_InputArray idArray = cv::noArray();
270+
if (ids != nullptr) idArray = *ids;
270271
cv::aruco::drawDetectedCornersCharuco(*image, *corners, idArray, cpp(cornerColor));
271272
END_WRAP
272273
}
@@ -317,8 +318,10 @@ CVAPI(ExceptionStatus) aruco_ArucoDetector_refineDetectedMarkers(
317318
std::vector<int>* recoveredIdxs)
318319
{
319320
BEGIN_WRAP
321+
cv::_OutputArray recoveredIdxsArr = cv::noArray();
322+
if (recoveredIdxs != nullptr) recoveredIdxsArr = *recoveredIdxs;
320323
detector->refineDetectedMarkers(*image, *board, *detectedCorners, *detectedIds, *rejectedCorners,
321-
entity(cameraMatrix), entity(distCoeffs), entity(recoveredIdxs));
324+
entity(cameraMatrix), entity(distCoeffs), recoveredIdxsArr);
322325
END_WRAP
323326
}
324327

0 commit comments

Comments
 (0)