12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736 |
- using OpenCVForUnity.CoreModule;
- using OpenCVForUnity.ObjdetectModule;
- using OpenCVForUnity.UtilsModule;
- using System;
- using System.Collections.Generic;
- using System.Runtime.InteropServices;
- namespace OpenCVForUnity.ArucoModule
- {
- // C++: class Aruco
- public class Aruco
- {
- // C++: enum cv.aruco.PatternPositionType
- public const int ARUCO_CCW_CENTER = 0;
- public const int ARUCO_CW_TOP_LEFT_CORNER = 1;
- //
- // C++: void cv::aruco::detectMarkers(Mat image, Ptr_Dictionary dictionary, vector_Mat& corners, Mat& ids, Ptr_DetectorParameters parameters = makePtr<DetectorParameters>(), vector_Mat& rejectedImgPoints = vector_Mat())
- //
- /**
- * detect markers
- * deprecated Use class ArucoDetector::detectMarkers
- * param image automatically generated
- * param dictionary automatically generated
- * param corners automatically generated
- * param ids automatically generated
- * param parameters automatically generated
- * param rejectedImgPoints automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void detectMarkers(Mat image, Dictionary dictionary, List<Mat> corners, Mat ids, DetectorParameters parameters, List<Mat> rejectedImgPoints)
- {
- if (image != null) image.ThrowIfDisposed();
- if (dictionary != null) dictionary.ThrowIfDisposed();
- if (ids != null) ids.ThrowIfDisposed();
- if (parameters != null) parameters.ThrowIfDisposed();
- Mat corners_mat = new Mat();
- Mat rejectedImgPoints_mat = new Mat();
- aruco_Aruco_detectMarkers_10(image.nativeObj, dictionary.getNativeObjAddr(), corners_mat.nativeObj, ids.nativeObj, parameters.getNativeObjAddr(), rejectedImgPoints_mat.nativeObj);
- Converters.Mat_to_vector_Mat(corners_mat, corners);
- corners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedImgPoints_mat, rejectedImgPoints);
- rejectedImgPoints_mat.release();
- }
- /**
- * detect markers
- * deprecated Use class ArucoDetector::detectMarkers
- * param image automatically generated
- * param dictionary automatically generated
- * param corners automatically generated
- * param ids automatically generated
- * param parameters automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void detectMarkers(Mat image, Dictionary dictionary, List<Mat> corners, Mat ids, DetectorParameters parameters)
- {
- if (image != null) image.ThrowIfDisposed();
- if (dictionary != null) dictionary.ThrowIfDisposed();
- if (ids != null) ids.ThrowIfDisposed();
- if (parameters != null) parameters.ThrowIfDisposed();
- Mat corners_mat = new Mat();
- aruco_Aruco_detectMarkers_11(image.nativeObj, dictionary.getNativeObjAddr(), corners_mat.nativeObj, ids.nativeObj, parameters.getNativeObjAddr());
- Converters.Mat_to_vector_Mat(corners_mat, corners);
- corners_mat.release();
- }
- /**
- * detect markers
- * deprecated Use class ArucoDetector::detectMarkers
- * param image automatically generated
- * param dictionary automatically generated
- * param corners automatically generated
- * param ids automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void detectMarkers(Mat image, Dictionary dictionary, List<Mat> corners, Mat ids)
- {
- if (image != null) image.ThrowIfDisposed();
- if (dictionary != null) dictionary.ThrowIfDisposed();
- if (ids != null) ids.ThrowIfDisposed();
- Mat corners_mat = new Mat();
- aruco_Aruco_detectMarkers_12(image.nativeObj, dictionary.getNativeObjAddr(), corners_mat.nativeObj, ids.nativeObj);
- Converters.Mat_to_vector_Mat(corners_mat, corners);
- corners_mat.release();
- }
- //
- // C++: void cv::aruco::refineDetectedMarkers(Mat image, Ptr_Board board, vector_Mat& detectedCorners, Mat& detectedIds, vector_Mat& rejectedCorners, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), float minRepDistance = 10.f, float errorCorrectionRate = 3.f, bool checkAllOrders = true, Mat& recoveredIdxs = Mat(), Ptr_DetectorParameters parameters = makePtr<DetectorParameters>())
- //
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param minRepDistance automatically generated
- * param errorCorrectionRate automatically generated
- * param checkAllOrders automatically generated
- * param recoveredIdxs automatically generated
- * param parameters automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate, bool checkAllOrders, Mat recoveredIdxs, DetectorParameters parameters)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (recoveredIdxs != null) recoveredIdxs.ThrowIfDisposed();
- if (parameters != null) parameters.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_10(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj, minRepDistance, errorCorrectionRate, checkAllOrders, recoveredIdxs.nativeObj, parameters.getNativeObjAddr());
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param minRepDistance automatically generated
- * param errorCorrectionRate automatically generated
- * param checkAllOrders automatically generated
- * param recoveredIdxs automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate, bool checkAllOrders, Mat recoveredIdxs)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (recoveredIdxs != null) recoveredIdxs.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_11(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj, minRepDistance, errorCorrectionRate, checkAllOrders, recoveredIdxs.nativeObj);
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param minRepDistance automatically generated
- * param errorCorrectionRate automatically generated
- * param checkAllOrders automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate, bool checkAllOrders)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_12(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj, minRepDistance, errorCorrectionRate, checkAllOrders);
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param minRepDistance automatically generated
- * param errorCorrectionRate automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance, float errorCorrectionRate)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_13(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj, minRepDistance, errorCorrectionRate);
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param minRepDistance automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs, float minRepDistance)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_14(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj, minRepDistance);
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix, Mat distCoeffs)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_15(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj);
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- * param cameraMatrix automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners, Mat cameraMatrix)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_16(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj, cameraMatrix.nativeObj);
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- /**
- * refine detected markers
- * deprecated Use class ArucoDetector::refineDetectedMarkers
- * param image automatically generated
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param rejectedCorners automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void refineDetectedMarkers(Mat image, Board board, List<Mat> detectedCorners, Mat detectedIds, List<Mat> rejectedCorners)
- {
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- Mat rejectedCorners_mat = Converters.vector_Mat_to_Mat(rejectedCorners);
- aruco_Aruco_refineDetectedMarkers_17(image.nativeObj, board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, rejectedCorners_mat.nativeObj);
- Converters.Mat_to_vector_Mat(detectedCorners_mat, detectedCorners);
- detectedCorners_mat.release();
- Converters.Mat_to_vector_Mat(rejectedCorners_mat, rejectedCorners);
- rejectedCorners_mat.release();
- }
- //
- // C++: void cv::aruco::drawPlanarBoard(Ptr_Board board, Size outSize, Mat& img, int marginSize, int borderBits)
- //
- /**
- * draw planar board
- * deprecated Use Board::generateImage
- * param board automatically generated
- * param outSize automatically generated
- * param img automatically generated
- * param marginSize automatically generated
- * param borderBits automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void drawPlanarBoard(Board board, Size outSize, Mat img, int marginSize, int borderBits)
- {
- if (board != null) board.ThrowIfDisposed();
- if (img != null) img.ThrowIfDisposed();
- aruco_Aruco_drawPlanarBoard_10(board.getNativeObjAddr(), outSize.width, outSize.height, img.nativeObj, marginSize, borderBits);
- }
- //
- // C++: void cv::aruco::getBoardObjectAndImagePoints(Ptr_Board board, vector_Mat detectedCorners, Mat detectedIds, Mat& objPoints, Mat& imgPoints)
- //
- /**
- * get board object and image points
- * deprecated Use Board::matchImagePoints
- * param board automatically generated
- * param detectedCorners automatically generated
- * param detectedIds automatically generated
- * param objPoints automatically generated
- * param imgPoints automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void getBoardObjectAndImagePoints(Board board, List<Mat> detectedCorners, Mat detectedIds, Mat objPoints, Mat imgPoints)
- {
- if (board != null) board.ThrowIfDisposed();
- if (detectedIds != null) detectedIds.ThrowIfDisposed();
- if (objPoints != null) objPoints.ThrowIfDisposed();
- if (imgPoints != null) imgPoints.ThrowIfDisposed();
- Mat detectedCorners_mat = Converters.vector_Mat_to_Mat(detectedCorners);
- aruco_Aruco_getBoardObjectAndImagePoints_10(board.getNativeObjAddr(), detectedCorners_mat.nativeObj, detectedIds.nativeObj, objPoints.nativeObj, imgPoints.nativeObj);
- }
- //
- // C++: int cv::aruco::estimatePoseBoard(vector_Mat corners, Mat ids, Ptr_Board board, Mat cameraMatrix, Mat distCoeffs, Mat& rvec, Mat& tvec, bool useExtrinsicGuess = false)
- //
- /**
- * deprecated Use cv::solvePnP
- * param corners automatically generated
- * param ids automatically generated
- * param board automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvec automatically generated
- * param tvec automatically generated
- * param useExtrinsicGuess automatically generated
- * return automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static int estimatePoseBoard(List<Mat> corners, Mat ids, Board board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec, bool useExtrinsicGuess)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (rvec != null) rvec.ThrowIfDisposed();
- if (tvec != null) tvec.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- return aruco_Aruco_estimatePoseBoard_10(corners_mat.nativeObj, ids.nativeObj, board.getNativeObjAddr(), cameraMatrix.nativeObj, distCoeffs.nativeObj, rvec.nativeObj, tvec.nativeObj, useExtrinsicGuess);
- }
- /**
- * deprecated Use cv::solvePnP
- * param corners automatically generated
- * param ids automatically generated
- * param board automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvec automatically generated
- * param tvec automatically generated
- * return automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static int estimatePoseBoard(List<Mat> corners, Mat ids, Board board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (rvec != null) rvec.ThrowIfDisposed();
- if (tvec != null) tvec.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- return aruco_Aruco_estimatePoseBoard_11(corners_mat.nativeObj, ids.nativeObj, board.getNativeObjAddr(), cameraMatrix.nativeObj, distCoeffs.nativeObj, rvec.nativeObj, tvec.nativeObj);
- }
- //
- // C++: bool cv::aruco::estimatePoseCharucoBoard(Mat charucoCorners, Mat charucoIds, Ptr_CharucoBoard board, Mat cameraMatrix, Mat distCoeffs, Mat& rvec, Mat& tvec, bool useExtrinsicGuess = false)
- //
- /**
- * Pose estimation for a ChArUco board given some of their corners
- * param charucoCorners vector of detected charuco corners
- * param charucoIds list of identifiers for each corner in charucoCorners
- * param board layout of ChArUco board.
- * param cameraMatrix input 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
- * param distCoeffs vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvec Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board
- * (see cv::Rodrigues).
- * param tvec Output vector (e.g. cv::Mat) corresponding to the translation vector of the board.
- * param useExtrinsicGuess defines whether initial guess for \b rvec and \b tvec will be used or not.
- *
- * This function estimates a Charuco board pose from some detected corners.
- * The function checks if the input corners are enough and valid to perform pose estimation.
- * If pose estimation is valid, returns true, else returns false.
- * SEE: use cv::drawFrameAxes to get world coordinate system axis for object points
- * return automatically generated
- */
- public static bool estimatePoseCharucoBoard(Mat charucoCorners, Mat charucoIds, CharucoBoard board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec, bool useExtrinsicGuess)
- {
- if (charucoCorners != null) charucoCorners.ThrowIfDisposed();
- if (charucoIds != null) charucoIds.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (rvec != null) rvec.ThrowIfDisposed();
- if (tvec != null) tvec.ThrowIfDisposed();
- return aruco_Aruco_estimatePoseCharucoBoard_10(charucoCorners.nativeObj, charucoIds.nativeObj, board.getNativeObjAddr(), cameraMatrix.nativeObj, distCoeffs.nativeObj, rvec.nativeObj, tvec.nativeObj, useExtrinsicGuess);
- }
- /**
- * Pose estimation for a ChArUco board given some of their corners
- * param charucoCorners vector of detected charuco corners
- * param charucoIds list of identifiers for each corner in charucoCorners
- * param board layout of ChArUco board.
- * param cameraMatrix input 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
- * param distCoeffs vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvec Output vector (e.g. cv::Mat) corresponding to the rotation vector of the board
- * (see cv::Rodrigues).
- * param tvec Output vector (e.g. cv::Mat) corresponding to the translation vector of the board.
- *
- * This function estimates a Charuco board pose from some detected corners.
- * The function checks if the input corners are enough and valid to perform pose estimation.
- * If pose estimation is valid, returns true, else returns false.
- * SEE: use cv::drawFrameAxes to get world coordinate system axis for object points
- * return automatically generated
- */
- public static bool estimatePoseCharucoBoard(Mat charucoCorners, Mat charucoIds, CharucoBoard board, Mat cameraMatrix, Mat distCoeffs, Mat rvec, Mat tvec)
- {
- if (charucoCorners != null) charucoCorners.ThrowIfDisposed();
- if (charucoIds != null) charucoIds.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (rvec != null) rvec.ThrowIfDisposed();
- if (tvec != null) tvec.ThrowIfDisposed();
- return aruco_Aruco_estimatePoseCharucoBoard_11(charucoCorners.nativeObj, charucoIds.nativeObj, board.getNativeObjAddr(), cameraMatrix.nativeObj, distCoeffs.nativeObj, rvec.nativeObj, tvec.nativeObj);
- }
- //
- // C++: void cv::aruco::estimatePoseSingleMarkers(vector_Mat corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat& rvecs, Mat& tvecs, Mat& objPoints = Mat(), Ptr_EstimateParameters estimateParameters = makePtr<EstimateParameters>())
- //
- /**
- * deprecated Use cv::solvePnP
- * param corners automatically generated
- * param markerLength automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * param objPoints automatically generated
- * param estimateParameters automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void estimatePoseSingleMarkers(List<Mat> corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs, Mat objPoints, EstimateParameters estimateParameters)
- {
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (rvecs != null) rvecs.ThrowIfDisposed();
- if (tvecs != null) tvecs.ThrowIfDisposed();
- if (objPoints != null) objPoints.ThrowIfDisposed();
- if (estimateParameters != null) estimateParameters.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- aruco_Aruco_estimatePoseSingleMarkers_10(corners_mat.nativeObj, markerLength, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs.nativeObj, tvecs.nativeObj, objPoints.nativeObj, estimateParameters.getNativeObjAddr());
- }
- /**
- * deprecated Use cv::solvePnP
- * param corners automatically generated
- * param markerLength automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * param objPoints automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void estimatePoseSingleMarkers(List<Mat> corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs, Mat objPoints)
- {
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (rvecs != null) rvecs.ThrowIfDisposed();
- if (tvecs != null) tvecs.ThrowIfDisposed();
- if (objPoints != null) objPoints.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- aruco_Aruco_estimatePoseSingleMarkers_11(corners_mat.nativeObj, markerLength, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs.nativeObj, tvecs.nativeObj, objPoints.nativeObj);
- }
- /**
- * deprecated Use cv::solvePnP
- * param corners automatically generated
- * param markerLength automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static void estimatePoseSingleMarkers(List<Mat> corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat rvecs, Mat tvecs)
- {
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (rvecs != null) rvecs.ThrowIfDisposed();
- if (tvecs != null) tvecs.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- aruco_Aruco_estimatePoseSingleMarkers_12(corners_mat.nativeObj, markerLength, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs.nativeObj, tvecs.nativeObj);
- }
- //
- // C++: bool cv::aruco::testCharucoCornersCollinear(Ptr_CharucoBoard board, Mat charucoIds)
- //
- /**
- * deprecated Use CharucoBoard::checkCharucoCornersCollinear
- * param board automatically generated
- * param charucoIds automatically generated
- * return automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static bool testCharucoCornersCollinear(CharucoBoard board, Mat charucoIds)
- {
- if (board != null) board.ThrowIfDisposed();
- if (charucoIds != null) charucoIds.ThrowIfDisposed();
- return aruco_Aruco_testCharucoCornersCollinear_10(board.getNativeObjAddr(), charucoIds.nativeObj);
- }
- //
- // C++: double cv::aruco::calibrateCameraAruco(vector_Mat corners, Mat ids, Mat counter, Ptr_Board board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs, vector_Mat& tvecs, Mat& stdDeviationsIntrinsics, Mat& stdDeviationsExtrinsics, Mat& perViewErrors, int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- * Calibrate a camera using aruco markers
- *
- * param corners vector of detected marker corners in all frames.
- * The corners should have the same format returned by detectMarkers (see #detectMarkers).
- * param ids list of identifiers for each marker in corners
- * param counter number of markers in each frame so that corners and ids can be split
- * param board Marker Board layout
- * param imageSize Size of the image used only to initialize the intrinsic camera matrix.
- * param cameraMatrix Output 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * param distCoeffs Output vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * param tvecs Output vector of translation vectors estimated for each pattern view.
- * param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * \((f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)\) If one of parameters is not estimated, it's deviation is equals to zero.
- * param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: \((R_1, T_1, \dotsc , R_M, T_M)\) where M is number of pattern views,
- * \(R_i, T_i\) are concatenated 1x3 vectors.
- * param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- * param criteria Termination criteria for the iterative optimization algorithm.
- *
- * This function calibrates a camera using an Aruco Board. The function receives a list of
- * detected markers from several views of the Board. The process is similar to the chessboard
- * calibration in calibrateCamera(). The function returns the final re-projection error.
- * return automatically generated
- */
- public static double calibrateCameraArucoExtended(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags, TermCriteria criteria)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (stdDeviationsIntrinsics != null) stdDeviationsIntrinsics.ThrowIfDisposed();
- if (stdDeviationsExtrinsics != null) stdDeviationsExtrinsics.ThrowIfDisposed();
- if (perViewErrors != null) perViewErrors.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraArucoExtended_10(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, stdDeviationsIntrinsics.nativeObj, stdDeviationsExtrinsics.nativeObj, perViewErrors.nativeObj, flags, criteria.type, criteria.maxCount, criteria.epsilon);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- * Calibrate a camera using aruco markers
- *
- * param corners vector of detected marker corners in all frames.
- * The corners should have the same format returned by detectMarkers (see #detectMarkers).
- * param ids list of identifiers for each marker in corners
- * param counter number of markers in each frame so that corners and ids can be split
- * param board Marker Board layout
- * param imageSize Size of the image used only to initialize the intrinsic camera matrix.
- * param cameraMatrix Output 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * param distCoeffs Output vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * param tvecs Output vector of translation vectors estimated for each pattern view.
- * param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * \((f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)\) If one of parameters is not estimated, it's deviation is equals to zero.
- * param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: \((R_1, T_1, \dotsc , R_M, T_M)\) where M is number of pattern views,
- * \(R_i, T_i\) are concatenated 1x3 vectors.
- * param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- *
- * This function calibrates a camera using an Aruco Board. The function receives a list of
- * detected markers from several views of the Board. The process is similar to the chessboard
- * calibration in calibrateCamera(). The function returns the final re-projection error.
- * return automatically generated
- */
- public static double calibrateCameraArucoExtended(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (stdDeviationsIntrinsics != null) stdDeviationsIntrinsics.ThrowIfDisposed();
- if (stdDeviationsExtrinsics != null) stdDeviationsExtrinsics.ThrowIfDisposed();
- if (perViewErrors != null) perViewErrors.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraArucoExtended_11(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, stdDeviationsIntrinsics.nativeObj, stdDeviationsExtrinsics.nativeObj, perViewErrors.nativeObj, flags);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- * Calibrate a camera using aruco markers
- *
- * param corners vector of detected marker corners in all frames.
- * The corners should have the same format returned by detectMarkers (see #detectMarkers).
- * param ids list of identifiers for each marker in corners
- * param counter number of markers in each frame so that corners and ids can be split
- * param board Marker Board layout
- * param imageSize Size of the image used only to initialize the intrinsic camera matrix.
- * param cameraMatrix Output 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * param distCoeffs Output vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * param tvecs Output vector of translation vectors estimated for each pattern view.
- * param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * \((f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)\) If one of parameters is not estimated, it's deviation is equals to zero.
- * param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: \((R_1, T_1, \dotsc , R_M, T_M)\) where M is number of pattern views,
- * \(R_i, T_i\) are concatenated 1x3 vectors.
- * param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- *
- * This function calibrates a camera using an Aruco Board. The function receives a list of
- * detected markers from several views of the Board. The process is similar to the chessboard
- * calibration in calibrateCamera(). The function returns the final re-projection error.
- * return automatically generated
- */
- public static double calibrateCameraArucoExtended(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (stdDeviationsIntrinsics != null) stdDeviationsIntrinsics.ThrowIfDisposed();
- if (stdDeviationsExtrinsics != null) stdDeviationsExtrinsics.ThrowIfDisposed();
- if (perViewErrors != null) perViewErrors.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraArucoExtended_12(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, stdDeviationsIntrinsics.nativeObj, stdDeviationsExtrinsics.nativeObj, perViewErrors.nativeObj);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- //
- // C++: double cv::aruco::calibrateCameraAruco(vector_Mat corners, Mat ids, Mat counter, Ptr_Board board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs = vector_Mat(), vector_Mat& tvecs = vector_Mat(), int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- * param corners automatically generated
- * param ids automatically generated
- * param counter automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * param flags automatically generated
- * param criteria automatically generated
- * return automatically generated
- */
- public static double calibrateCameraAruco(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags, TermCriteria criteria)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraAruco_10(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, flags, criteria.type, criteria.maxCount, criteria.epsilon);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- * param corners automatically generated
- * param ids automatically generated
- * param counter automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * param flags automatically generated
- * return automatically generated
- */
- public static double calibrateCameraAruco(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraAruco_11(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, flags);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- * param corners automatically generated
- * param ids automatically generated
- * param counter automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * return automatically generated
- */
- public static double calibrateCameraAruco(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraAruco_12(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- * param corners automatically generated
- * param ids automatically generated
- * param counter automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * return automatically generated
- */
- public static double calibrateCameraAruco(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- Mat rvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraAruco_13(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- return retVal;
- }
- /**
- *
- * It's the same function as #calibrateCameraAruco but without calibration error estimation.
- * param corners automatically generated
- * param ids automatically generated
- * param counter automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * return automatically generated
- */
- public static double calibrateCameraAruco(List<Mat> corners, Mat ids, Mat counter, Board board, Size imageSize, Mat cameraMatrix, Mat distCoeffs)
- {
- if (ids != null) ids.ThrowIfDisposed();
- if (counter != null) counter.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat corners_mat = Converters.vector_Mat_to_Mat(corners);
- return aruco_Aruco_calibrateCameraAruco_14(corners_mat.nativeObj, ids.nativeObj, counter.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj);
- }
- //
- // C++: double cv::aruco::calibrateCameraCharuco(vector_Mat charucoCorners, vector_Mat charucoIds, Ptr_CharucoBoard board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs, vector_Mat& tvecs, Mat& stdDeviationsIntrinsics, Mat& stdDeviationsExtrinsics, Mat& perViewErrors, int flags = 0, TermCriteria criteria = TermCriteria( TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- * Calibrate a camera using Charuco corners
- *
- * param charucoCorners vector of detected charuco corners per frame
- * param charucoIds list of identifiers for each corner in charucoCorners per frame
- * param board Marker Board layout
- * param imageSize input image size
- * param cameraMatrix Output 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * param distCoeffs Output vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * param tvecs Output vector of translation vectors estimated for each pattern view.
- * param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * \((f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)\) If one of parameters is not estimated, it's deviation is equals to zero.
- * param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: \((R_1, T_1, \dotsc , R_M, T_M)\) where M is number of pattern views,
- * \(R_i, T_i\) are concatenated 1x3 vectors.
- * param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- * param criteria Termination criteria for the iterative optimization algorithm.
- *
- * This function calibrates a camera using a set of corners of a Charuco Board. The function
- * receives a list of detected corners and its identifiers from several views of the Board.
- * The function returns the final re-projection error.
- * return automatically generated
- */
- public static double calibrateCameraCharucoExtended(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags, TermCriteria criteria)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (stdDeviationsIntrinsics != null) stdDeviationsIntrinsics.ThrowIfDisposed();
- if (stdDeviationsExtrinsics != null) stdDeviationsExtrinsics.ThrowIfDisposed();
- if (perViewErrors != null) perViewErrors.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraCharucoExtended_10(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, stdDeviationsIntrinsics.nativeObj, stdDeviationsExtrinsics.nativeObj, perViewErrors.nativeObj, flags, criteria.type, criteria.maxCount, criteria.epsilon);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- * Calibrate a camera using Charuco corners
- *
- * param charucoCorners vector of detected charuco corners per frame
- * param charucoIds list of identifiers for each corner in charucoCorners per frame
- * param board Marker Board layout
- * param imageSize input image size
- * param cameraMatrix Output 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * param distCoeffs Output vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * param tvecs Output vector of translation vectors estimated for each pattern view.
- * param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * \((f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)\) If one of parameters is not estimated, it's deviation is equals to zero.
- * param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: \((R_1, T_1, \dotsc , R_M, T_M)\) where M is number of pattern views,
- * \(R_i, T_i\) are concatenated 1x3 vectors.
- * param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- * param flags flags Different flags for the calibration process (see #calibrateCamera for details).
- *
- * This function calibrates a camera using a set of corners of a Charuco Board. The function
- * receives a list of detected corners and its identifiers from several views of the Board.
- * The function returns the final re-projection error.
- * return automatically generated
- */
- public static double calibrateCameraCharucoExtended(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors, int flags)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (stdDeviationsIntrinsics != null) stdDeviationsIntrinsics.ThrowIfDisposed();
- if (stdDeviationsExtrinsics != null) stdDeviationsExtrinsics.ThrowIfDisposed();
- if (perViewErrors != null) perViewErrors.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraCharucoExtended_11(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, stdDeviationsIntrinsics.nativeObj, stdDeviationsExtrinsics.nativeObj, perViewErrors.nativeObj, flags);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- * Calibrate a camera using Charuco corners
- *
- * param charucoCorners vector of detected charuco corners per frame
- * param charucoIds list of identifiers for each corner in charucoCorners per frame
- * param board Marker Board layout
- * param imageSize input image size
- * param cameraMatrix Output 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\) . If CV\_CALIB\_USE\_INTRINSIC\_GUESS
- * and/or CV_CALIB_FIX_ASPECT_RATIO are specified, some or all of fx, fy, cx, cy must be
- * initialized before calling the function.
- * param distCoeffs Output vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param rvecs Output vector of rotation vectors (see Rodrigues ) estimated for each board view
- * (e.g. std::vector<cv::Mat>>). That is, each k-th rotation vector together with the corresponding
- * k-th translation vector (see the next output parameter description) brings the board pattern
- * from the model coordinate space (in which object points are specified) to the world coordinate
- * space, that is, a real position of the board pattern in the k-th pattern view (k=0.. *M* -1).
- * param tvecs Output vector of translation vectors estimated for each pattern view.
- * param stdDeviationsIntrinsics Output vector of standard deviations estimated for intrinsic parameters.
- * Order of deviations values:
- * \((f_x, f_y, c_x, c_y, k_1, k_2, p_1, p_2, k_3, k_4, k_5, k_6 , s_1, s_2, s_3,
- * s_4, \tau_x, \tau_y)\) If one of parameters is not estimated, it's deviation is equals to zero.
- * param stdDeviationsExtrinsics Output vector of standard deviations estimated for extrinsic parameters.
- * Order of deviations values: \((R_1, T_1, \dotsc , R_M, T_M)\) where M is number of pattern views,
- * \(R_i, T_i\) are concatenated 1x3 vectors.
- * param perViewErrors Output vector of average re-projection errors estimated for each pattern view.
- *
- * This function calibrates a camera using a set of corners of a Charuco Board. The function
- * receives a list of detected corners and its identifiers from several views of the Board.
- * The function returns the final re-projection error.
- * return automatically generated
- */
- public static double calibrateCameraCharucoExtended(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, Mat stdDeviationsIntrinsics, Mat stdDeviationsExtrinsics, Mat perViewErrors)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (stdDeviationsIntrinsics != null) stdDeviationsIntrinsics.ThrowIfDisposed();
- if (stdDeviationsExtrinsics != null) stdDeviationsExtrinsics.ThrowIfDisposed();
- if (perViewErrors != null) perViewErrors.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraCharucoExtended_12(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, stdDeviationsIntrinsics.nativeObj, stdDeviationsExtrinsics.nativeObj, perViewErrors.nativeObj);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- //
- // C++: double cv::aruco::calibrateCameraCharuco(vector_Mat charucoCorners, vector_Mat charucoIds, Ptr_CharucoBoard board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs = vector_Mat(), vector_Mat& tvecs = vector_Mat(), int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- //
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- * param charucoCorners automatically generated
- * param charucoIds automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * param flags automatically generated
- * param criteria automatically generated
- * return automatically generated
- */
- public static double calibrateCameraCharuco(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags, TermCriteria criteria)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraCharuco_10(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, flags, criteria.type, criteria.maxCount, criteria.epsilon);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- * param charucoCorners automatically generated
- * param charucoIds automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * param flags automatically generated
- * return automatically generated
- */
- public static double calibrateCameraCharuco(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs, int flags)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraCharuco_11(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj, flags);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- * param charucoCorners automatically generated
- * param charucoIds automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * param tvecs automatically generated
- * return automatically generated
- */
- public static double calibrateCameraCharuco(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs, List<Mat> tvecs)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- Mat rvecs_mat = new Mat();
- Mat tvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraCharuco_12(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj, tvecs_mat.nativeObj);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- Converters.Mat_to_vector_Mat(tvecs_mat, tvecs);
- tvecs_mat.release();
- return retVal;
- }
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- * param charucoCorners automatically generated
- * param charucoIds automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * param rvecs automatically generated
- * return automatically generated
- */
- public static double calibrateCameraCharuco(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs, List<Mat> rvecs)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- Mat rvecs_mat = new Mat();
- double retVal = aruco_Aruco_calibrateCameraCharuco_13(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj, rvecs_mat.nativeObj);
- Converters.Mat_to_vector_Mat(rvecs_mat, rvecs);
- rvecs_mat.release();
- return retVal;
- }
- /**
- * It's the same function as #calibrateCameraCharuco but without calibration error estimation.
- * param charucoCorners automatically generated
- * param charucoIds automatically generated
- * param board automatically generated
- * param imageSize automatically generated
- * param cameraMatrix automatically generated
- * param distCoeffs automatically generated
- * return automatically generated
- */
- public static double calibrateCameraCharuco(List<Mat> charucoCorners, List<Mat> charucoIds, CharucoBoard board, Size imageSize, Mat cameraMatrix, Mat distCoeffs)
- {
- if (board != null) board.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat charucoCorners_mat = Converters.vector_Mat_to_Mat(charucoCorners);
- Mat charucoIds_mat = Converters.vector_Mat_to_Mat(charucoIds);
- return aruco_Aruco_calibrateCameraCharuco_14(charucoCorners_mat.nativeObj, charucoIds_mat.nativeObj, board.getNativeObjAddr(), imageSize.width, imageSize.height, cameraMatrix.nativeObj, distCoeffs.nativeObj);
- }
- //
- // C++: int cv::aruco::interpolateCornersCharuco(vector_Mat markerCorners, Mat markerIds, Mat image, Ptr_CharucoBoard board, Mat& charucoCorners, Mat& charucoIds, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), int minMarkers = 2)
- //
- /**
- * Interpolate position of ChArUco board corners
- * param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (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 markerIds list of identifiers for each marker in corners
- * param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * param board layout of ChArUco board.
- * param charucoCorners interpolated chessboard corners
- * param charucoIds interpolated chessboard corners identifiers
- * param cameraMatrix optional 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
- * param distCoeffs optional vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- * param minMarkers number of adjacent markers that must be detected to return a charuco corner
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * deprecated Use CharucoDetector::detectBoard
- * return automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static int interpolateCornersCharuco(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds, Mat cameraMatrix, Mat distCoeffs, int minMarkers)
- {
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (charucoCorners != null) charucoCorners.ThrowIfDisposed();
- if (charucoIds != null) charucoIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- return aruco_Aruco_interpolateCornersCharuco_10(markerCorners_mat.nativeObj, markerIds.nativeObj, image.nativeObj, board.getNativeObjAddr(), charucoCorners.nativeObj, charucoIds.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj, minMarkers);
- }
- /**
- * Interpolate position of ChArUco board corners
- * param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (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 markerIds list of identifiers for each marker in corners
- * param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * param board layout of ChArUco board.
- * param charucoCorners interpolated chessboard corners
- * param charucoIds interpolated chessboard corners identifiers
- * param cameraMatrix optional 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
- * param distCoeffs optional vector of distortion coefficients
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * deprecated Use CharucoDetector::detectBoard
- * return automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static int interpolateCornersCharuco(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds, Mat cameraMatrix, Mat distCoeffs)
- {
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (charucoCorners != null) charucoCorners.ThrowIfDisposed();
- if (charucoIds != null) charucoIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- return aruco_Aruco_interpolateCornersCharuco_11(markerCorners_mat.nativeObj, markerIds.nativeObj, image.nativeObj, board.getNativeObjAddr(), charucoCorners.nativeObj, charucoIds.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj);
- }
- /**
- * Interpolate position of ChArUco board corners
- * param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (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 markerIds list of identifiers for each marker in corners
- * param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * param board layout of ChArUco board.
- * param charucoCorners interpolated chessboard corners
- * param charucoIds interpolated chessboard corners identifiers
- * param cameraMatrix optional 3x3 floating-point camera matrix
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * deprecated Use CharucoDetector::detectBoard
- * return automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static int interpolateCornersCharuco(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds, Mat cameraMatrix)
- {
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (charucoCorners != null) charucoCorners.ThrowIfDisposed();
- if (charucoIds != null) charucoIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- return aruco_Aruco_interpolateCornersCharuco_12(markerCorners_mat.nativeObj, markerIds.nativeObj, image.nativeObj, board.getNativeObjAddr(), charucoCorners.nativeObj, charucoIds.nativeObj, cameraMatrix.nativeObj);
- }
- /**
- * Interpolate position of ChArUco board corners
- * param markerCorners vector of already detected markers corners. For each marker, its four
- * corners are provided, (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 markerIds list of identifiers for each marker in corners
- * param image input image necesary for corner refinement. Note that markers are not detected and
- * should be sent in corners and ids parameters.
- * param board layout of ChArUco board.
- * param charucoCorners interpolated chessboard corners
- * param charucoIds interpolated chessboard corners identifiers
- * \(A = \vecthreethree{f_x}{0}{c_x}{0}{f_y}{c_y}{0}{0}{1}\)
- * \((k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6],[s_1, s_2, s_3, s_4]])\) of 4, 5, 8 or 12 elements
- *
- * This function receives the detected markers and returns the 2D position of the chessboard corners
- * from a ChArUco board using the detected Aruco markers. If camera parameters are provided,
- * the process is based in an approximated pose estimation, else it is based on local homography.
- * Only visible corners are returned. For each corner, its corresponding identifier is
- * also returned in charucoIds.
- * The function returns the number of interpolated corners.
- *
- * deprecated Use CharucoDetector::detectBoard
- * return automatically generated
- */
- [Obsolete("This method is deprecated.")]
- public static int interpolateCornersCharuco(List<Mat> markerCorners, Mat markerIds, Mat image, CharucoBoard board, Mat charucoCorners, Mat charucoIds)
- {
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (image != null) image.ThrowIfDisposed();
- if (board != null) board.ThrowIfDisposed();
- if (charucoCorners != null) charucoCorners.ThrowIfDisposed();
- if (charucoIds != null) charucoIds.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- return aruco_Aruco_interpolateCornersCharuco_13(markerCorners_mat.nativeObj, markerIds.nativeObj, image.nativeObj, board.getNativeObjAddr(), charucoCorners.nativeObj, charucoIds.nativeObj);
- }
- //
- // C++: void cv::aruco::detectCharucoDiamond(Mat image, vector_Mat markerCorners, Mat markerIds, float squareMarkerLengthRate, vector_Mat& diamondCorners, Mat& diamondIds, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), Ptr_Dictionary dictionary = makePtr<Dictionary> (getPredefinedDictionary(PredefinedDictionaryType::DICT_4X4_50)))
- //
- /**
- * Detect ChArUco Diamond markers
- *
- * param image input image necessary for corner subpixel.
- * param markerCorners list of detected marker corners from detectMarkers function.
- * param markerIds list of marker ids in markerCorners.
- * param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * param 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 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 cameraMatrix Optional camera calibration matrix.
- * param distCoeffs Optional camera distortion coefficients.
- * param dictionary dictionary of markers indicating the type of markers.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * deprecated Use CharucoDetector::detectDiamonds
- */
- [Obsolete("This method is deprecated.")]
- public static void detectCharucoDiamond(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds, Mat cameraMatrix, Mat distCoeffs, Dictionary dictionary)
- {
- if (image != null) image.ThrowIfDisposed();
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (diamondIds != null) diamondIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- if (dictionary != null) dictionary.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- Mat diamondCorners_mat = new Mat();
- aruco_Aruco_detectCharucoDiamond_10(image.nativeObj, markerCorners_mat.nativeObj, markerIds.nativeObj, squareMarkerLengthRate, diamondCorners_mat.nativeObj, diamondIds.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj, dictionary.getNativeObjAddr());
- Converters.Mat_to_vector_Mat(diamondCorners_mat, diamondCorners);
- diamondCorners_mat.release();
- }
- /**
- * Detect ChArUco Diamond markers
- *
- * param image input image necessary for corner subpixel.
- * param markerCorners list of detected marker corners from detectMarkers function.
- * param markerIds list of marker ids in markerCorners.
- * param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * param 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 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 cameraMatrix Optional camera calibration matrix.
- * param distCoeffs Optional camera distortion coefficients.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * deprecated Use CharucoDetector::detectDiamonds
- */
- [Obsolete("This method is deprecated.")]
- public static void detectCharucoDiamond(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds, Mat cameraMatrix, Mat distCoeffs)
- {
- if (image != null) image.ThrowIfDisposed();
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (diamondIds != null) diamondIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- if (distCoeffs != null) distCoeffs.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- Mat diamondCorners_mat = new Mat();
- aruco_Aruco_detectCharucoDiamond_11(image.nativeObj, markerCorners_mat.nativeObj, markerIds.nativeObj, squareMarkerLengthRate, diamondCorners_mat.nativeObj, diamondIds.nativeObj, cameraMatrix.nativeObj, distCoeffs.nativeObj);
- Converters.Mat_to_vector_Mat(diamondCorners_mat, diamondCorners);
- diamondCorners_mat.release();
- }
- /**
- * Detect ChArUco Diamond markers
- *
- * param image input image necessary for corner subpixel.
- * param markerCorners list of detected marker corners from detectMarkers function.
- * param markerIds list of marker ids in markerCorners.
- * param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * param 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 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 cameraMatrix Optional camera calibration matrix.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * deprecated Use CharucoDetector::detectDiamonds
- */
- [Obsolete("This method is deprecated.")]
- public static void detectCharucoDiamond(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds, Mat cameraMatrix)
- {
- if (image != null) image.ThrowIfDisposed();
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (diamondIds != null) diamondIds.ThrowIfDisposed();
- if (cameraMatrix != null) cameraMatrix.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- Mat diamondCorners_mat = new Mat();
- aruco_Aruco_detectCharucoDiamond_12(image.nativeObj, markerCorners_mat.nativeObj, markerIds.nativeObj, squareMarkerLengthRate, diamondCorners_mat.nativeObj, diamondIds.nativeObj, cameraMatrix.nativeObj);
- Converters.Mat_to_vector_Mat(diamondCorners_mat, diamondCorners);
- diamondCorners_mat.release();
- }
- /**
- * Detect ChArUco Diamond markers
- *
- * param image input image necessary for corner subpixel.
- * param markerCorners list of detected marker corners from detectMarkers function.
- * param markerIds list of marker ids in markerCorners.
- * param squareMarkerLengthRate rate between square and marker length:
- * squareMarkerLengthRate = squareLength/markerLength. The real units are not necessary.
- * param 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 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.
- *
- * This function detects Diamond markers from the previous detected ArUco markers. The diamonds
- * are returned in the diamondCorners and diamondIds parameters. If camera calibration parameters
- * are provided, the diamond search is based on reprojection. If not, diamond search is based on
- * homography. Homography is faster than reprojection, but less accurate.
- *
- * deprecated Use CharucoDetector::detectDiamonds
- */
- [Obsolete("This method is deprecated.")]
- public static void detectCharucoDiamond(Mat image, List<Mat> markerCorners, Mat markerIds, float squareMarkerLengthRate, List<Mat> diamondCorners, Mat diamondIds)
- {
- if (image != null) image.ThrowIfDisposed();
- if (markerIds != null) markerIds.ThrowIfDisposed();
- if (diamondIds != null) diamondIds.ThrowIfDisposed();
- Mat markerCorners_mat = Converters.vector_Mat_to_Mat(markerCorners);
- Mat diamondCorners_mat = new Mat();
- aruco_Aruco_detectCharucoDiamond_13(image.nativeObj, markerCorners_mat.nativeObj, markerIds.nativeObj, squareMarkerLengthRate, diamondCorners_mat.nativeObj, diamondIds.nativeObj);
- Converters.Mat_to_vector_Mat(diamondCorners_mat, diamondCorners);
- diamondCorners_mat.release();
- }
- //
- // C++: void cv::aruco::drawCharucoDiamond(Ptr_Dictionary dictionary, Vec4i ids, int squareLength, int markerLength, Mat& img, int marginSize = 0, int borderBits = 1)
- //
- // Unknown type 'Vec4i' (I), skipping the function
- #if (UNITY_IOS || UNITY_WEBGL) && !UNITY_EDITOR
- const string LIBNAME = "__Internal";
- #else
- const string LIBNAME = "opencvforunity";
- #endif
- // C++: void cv::aruco::detectMarkers(Mat image, Ptr_Dictionary dictionary, vector_Mat& corners, Mat& ids, Ptr_DetectorParameters parameters = makePtr<DetectorParameters>(), vector_Mat& rejectedImgPoints = vector_Mat())
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_detectMarkers_10(IntPtr image_nativeObj, IntPtr dictionary_nativeObj, IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr parameters_nativeObj, IntPtr rejectedImgPoints_mat_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_detectMarkers_11(IntPtr image_nativeObj, IntPtr dictionary_nativeObj, IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr parameters_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_detectMarkers_12(IntPtr image_nativeObj, IntPtr dictionary_nativeObj, IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj);
- // C++: void cv::aruco::refineDetectedMarkers(Mat image, Ptr_Board board, vector_Mat& detectedCorners, Mat& detectedIds, vector_Mat& rejectedCorners, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), float minRepDistance = 10.f, float errorCorrectionRate = 3.f, bool checkAllOrders = true, Mat& recoveredIdxs = Mat(), Ptr_DetectorParameters parameters = makePtr<DetectorParameters>())
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_10(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, float minRepDistance, float errorCorrectionRate, [MarshalAs(UnmanagedType.U1)] bool checkAllOrders, IntPtr recoveredIdxs_nativeObj, IntPtr parameters_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_11(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, float minRepDistance, float errorCorrectionRate, [MarshalAs(UnmanagedType.U1)] bool checkAllOrders, IntPtr recoveredIdxs_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_12(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, float minRepDistance, float errorCorrectionRate, [MarshalAs(UnmanagedType.U1)] bool checkAllOrders);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_13(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, float minRepDistance, float errorCorrectionRate);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_14(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, float minRepDistance);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_15(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_16(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj, IntPtr cameraMatrix_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_refineDetectedMarkers_17(IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr rejectedCorners_mat_nativeObj);
- // C++: void cv::aruco::drawPlanarBoard(Ptr_Board board, Size outSize, Mat& img, int marginSize, int borderBits)
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_drawPlanarBoard_10(IntPtr board_nativeObj, double outSize_width, double outSize_height, IntPtr img_nativeObj, int marginSize, int borderBits);
- // C++: void cv::aruco::getBoardObjectAndImagePoints(Ptr_Board board, vector_Mat detectedCorners, Mat detectedIds, Mat& objPoints, Mat& imgPoints)
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_getBoardObjectAndImagePoints_10(IntPtr board_nativeObj, IntPtr detectedCorners_mat_nativeObj, IntPtr detectedIds_nativeObj, IntPtr objPoints_nativeObj, IntPtr imgPoints_nativeObj);
- // C++: int cv::aruco::estimatePoseBoard(vector_Mat corners, Mat ids, Ptr_Board board, Mat cameraMatrix, Mat distCoeffs, Mat& rvec, Mat& tvec, bool useExtrinsicGuess = false)
- [DllImport(LIBNAME)]
- private static extern int aruco_Aruco_estimatePoseBoard_10(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr board_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvec_nativeObj, IntPtr tvec_nativeObj, [MarshalAs(UnmanagedType.U1)] bool useExtrinsicGuess);
- [DllImport(LIBNAME)]
- private static extern int aruco_Aruco_estimatePoseBoard_11(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr board_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvec_nativeObj, IntPtr tvec_nativeObj);
- // C++: bool cv::aruco::estimatePoseCharucoBoard(Mat charucoCorners, Mat charucoIds, Ptr_CharucoBoard board, Mat cameraMatrix, Mat distCoeffs, Mat& rvec, Mat& tvec, bool useExtrinsicGuess = false)
- [DllImport(LIBNAME)]
- [return: MarshalAs(UnmanagedType.U1)]
- private static extern bool aruco_Aruco_estimatePoseCharucoBoard_10(IntPtr charucoCorners_nativeObj, IntPtr charucoIds_nativeObj, IntPtr board_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvec_nativeObj, IntPtr tvec_nativeObj, [MarshalAs(UnmanagedType.U1)] bool useExtrinsicGuess);
- [DllImport(LIBNAME)]
- [return: MarshalAs(UnmanagedType.U1)]
- private static extern bool aruco_Aruco_estimatePoseCharucoBoard_11(IntPtr charucoCorners_nativeObj, IntPtr charucoIds_nativeObj, IntPtr board_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvec_nativeObj, IntPtr tvec_nativeObj);
- // C++: void cv::aruco::estimatePoseSingleMarkers(vector_Mat corners, float markerLength, Mat cameraMatrix, Mat distCoeffs, Mat& rvecs, Mat& tvecs, Mat& objPoints = Mat(), Ptr_EstimateParameters estimateParameters = makePtr<EstimateParameters>())
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_estimatePoseSingleMarkers_10(IntPtr corners_mat_nativeObj, float markerLength, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_nativeObj, IntPtr tvecs_nativeObj, IntPtr objPoints_nativeObj, IntPtr estimateParameters_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_estimatePoseSingleMarkers_11(IntPtr corners_mat_nativeObj, float markerLength, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_nativeObj, IntPtr tvecs_nativeObj, IntPtr objPoints_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_estimatePoseSingleMarkers_12(IntPtr corners_mat_nativeObj, float markerLength, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_nativeObj, IntPtr tvecs_nativeObj);
- // C++: bool cv::aruco::testCharucoCornersCollinear(Ptr_CharucoBoard board, Mat charucoIds)
- [DllImport(LIBNAME)]
- [return: MarshalAs(UnmanagedType.U1)]
- private static extern bool aruco_Aruco_testCharucoCornersCollinear_10(IntPtr board_nativeObj, IntPtr charucoIds_nativeObj);
- // C++: double cv::aruco::calibrateCameraAruco(vector_Mat corners, Mat ids, Mat counter, Ptr_Board board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs, vector_Mat& tvecs, Mat& stdDeviationsIntrinsics, Mat& stdDeviationsExtrinsics, Mat& perViewErrors, int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraArucoExtended_10(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, IntPtr stdDeviationsIntrinsics_nativeObj, IntPtr stdDeviationsExtrinsics_nativeObj, IntPtr perViewErrors_nativeObj, int flags, int criteria_type, int criteria_maxCount, double criteria_epsilon);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraArucoExtended_11(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, IntPtr stdDeviationsIntrinsics_nativeObj, IntPtr stdDeviationsExtrinsics_nativeObj, IntPtr perViewErrors_nativeObj, int flags);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraArucoExtended_12(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, IntPtr stdDeviationsIntrinsics_nativeObj, IntPtr stdDeviationsExtrinsics_nativeObj, IntPtr perViewErrors_nativeObj);
- // C++: double cv::aruco::calibrateCameraAruco(vector_Mat corners, Mat ids, Mat counter, Ptr_Board board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs = vector_Mat(), vector_Mat& tvecs = vector_Mat(), int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraAruco_10(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, int flags, int criteria_type, int criteria_maxCount, double criteria_epsilon);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraAruco_11(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, int flags);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraAruco_12(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraAruco_13(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraAruco_14(IntPtr corners_mat_nativeObj, IntPtr ids_nativeObj, IntPtr counter_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj);
- // C++: double cv::aruco::calibrateCameraCharuco(vector_Mat charucoCorners, vector_Mat charucoIds, Ptr_CharucoBoard board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs, vector_Mat& tvecs, Mat& stdDeviationsIntrinsics, Mat& stdDeviationsExtrinsics, Mat& perViewErrors, int flags = 0, TermCriteria criteria = TermCriteria( TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharucoExtended_10(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, IntPtr stdDeviationsIntrinsics_nativeObj, IntPtr stdDeviationsExtrinsics_nativeObj, IntPtr perViewErrors_nativeObj, int flags, int criteria_type, int criteria_maxCount, double criteria_epsilon);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharucoExtended_11(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, IntPtr stdDeviationsIntrinsics_nativeObj, IntPtr stdDeviationsExtrinsics_nativeObj, IntPtr perViewErrors_nativeObj, int flags);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharucoExtended_12(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, IntPtr stdDeviationsIntrinsics_nativeObj, IntPtr stdDeviationsExtrinsics_nativeObj, IntPtr perViewErrors_nativeObj);
- // C++: double cv::aruco::calibrateCameraCharuco(vector_Mat charucoCorners, vector_Mat charucoIds, Ptr_CharucoBoard board, Size imageSize, Mat& cameraMatrix, Mat& distCoeffs, vector_Mat& rvecs = vector_Mat(), vector_Mat& tvecs = vector_Mat(), int flags = 0, TermCriteria criteria = TermCriteria(TermCriteria::COUNT + TermCriteria::EPS, 30, DBL_EPSILON))
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharuco_10(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, int flags, int criteria_type, int criteria_maxCount, double criteria_epsilon);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharuco_11(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj, int flags);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharuco_12(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj, IntPtr tvecs_mat_nativeObj);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharuco_13(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr rvecs_mat_nativeObj);
- [DllImport(LIBNAME)]
- private static extern double aruco_Aruco_calibrateCameraCharuco_14(IntPtr charucoCorners_mat_nativeObj, IntPtr charucoIds_mat_nativeObj, IntPtr board_nativeObj, double imageSize_width, double imageSize_height, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj);
- // C++: int cv::aruco::interpolateCornersCharuco(vector_Mat markerCorners, Mat markerIds, Mat image, Ptr_CharucoBoard board, Mat& charucoCorners, Mat& charucoIds, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), int minMarkers = 2)
- [DllImport(LIBNAME)]
- private static extern int aruco_Aruco_interpolateCornersCharuco_10(IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr charucoCorners_nativeObj, IntPtr charucoIds_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, int minMarkers);
- [DllImport(LIBNAME)]
- private static extern int aruco_Aruco_interpolateCornersCharuco_11(IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr charucoCorners_nativeObj, IntPtr charucoIds_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj);
- [DllImport(LIBNAME)]
- private static extern int aruco_Aruco_interpolateCornersCharuco_12(IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr charucoCorners_nativeObj, IntPtr charucoIds_nativeObj, IntPtr cameraMatrix_nativeObj);
- [DllImport(LIBNAME)]
- private static extern int aruco_Aruco_interpolateCornersCharuco_13(IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, IntPtr image_nativeObj, IntPtr board_nativeObj, IntPtr charucoCorners_nativeObj, IntPtr charucoIds_nativeObj);
- // C++: void cv::aruco::detectCharucoDiamond(Mat image, vector_Mat markerCorners, Mat markerIds, float squareMarkerLengthRate, vector_Mat& diamondCorners, Mat& diamondIds, Mat cameraMatrix = Mat(), Mat distCoeffs = Mat(), Ptr_Dictionary dictionary = makePtr<Dictionary> (getPredefinedDictionary(PredefinedDictionaryType::DICT_4X4_50)))
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_detectCharucoDiamond_10(IntPtr image_nativeObj, IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, float squareMarkerLengthRate, IntPtr diamondCorners_mat_nativeObj, IntPtr diamondIds_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj, IntPtr dictionary_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_detectCharucoDiamond_11(IntPtr image_nativeObj, IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, float squareMarkerLengthRate, IntPtr diamondCorners_mat_nativeObj, IntPtr diamondIds_nativeObj, IntPtr cameraMatrix_nativeObj, IntPtr distCoeffs_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_detectCharucoDiamond_12(IntPtr image_nativeObj, IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, float squareMarkerLengthRate, IntPtr diamondCorners_mat_nativeObj, IntPtr diamondIds_nativeObj, IntPtr cameraMatrix_nativeObj);
- [DllImport(LIBNAME)]
- private static extern void aruco_Aruco_detectCharucoDiamond_13(IntPtr image_nativeObj, IntPtr markerCorners_mat_nativeObj, IntPtr markerIds_nativeObj, float squareMarkerLengthRate, IntPtr diamondCorners_mat_nativeObj, IntPtr diamondIds_nativeObj);
- }
- }
|