@@ -418,6 +418,18 @@ pub mod calib3d {
418
418
ASYMMETRIC_GRID = 1,
419
419
}
420
420
421
+ impl TryFrom<i32> for CirclesGridFinderParameters_GridType {
422
+ type Error = crate::Error;
423
+
424
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
425
+ match value {
426
+ 0 => Ok(Self::SYMMETRIC_GRID),
427
+ 1 => Ok(Self::ASYMMETRIC_GRID),
428
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::CirclesGridFinderParameters_GridType"))),
429
+ }
430
+ }
431
+ }
432
+
421
433
opencv_type_enum! { crate::calib3d::CirclesGridFinderParameters_GridType }
422
434
423
435
#[repr(C)]
@@ -435,6 +447,21 @@ pub mod calib3d {
435
447
CALIB_HAND_EYE_DANIILIDIS = 4,
436
448
}
437
449
450
+ impl TryFrom<i32> for HandEyeCalibrationMethod {
451
+ type Error = crate::Error;
452
+
453
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
454
+ match value {
455
+ 0 => Ok(Self::CALIB_HAND_EYE_TSAI),
456
+ 1 => Ok(Self::CALIB_HAND_EYE_PARK),
457
+ 2 => Ok(Self::CALIB_HAND_EYE_HORAUD),
458
+ 3 => Ok(Self::CALIB_HAND_EYE_ANDREFF),
459
+ 4 => Ok(Self::CALIB_HAND_EYE_DANIILIDIS),
460
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::HandEyeCalibrationMethod"))),
461
+ }
462
+ }
463
+ }
464
+
438
465
opencv_type_enum! { crate::calib3d::HandEyeCalibrationMethod }
439
466
440
467
#[repr(C)]
@@ -447,6 +474,21 @@ pub mod calib3d {
447
474
LOCAL_OPTIM_SIGMA = 4,
448
475
}
449
476
477
+ impl TryFrom<i32> for LocalOptimMethod {
478
+ type Error = crate::Error;
479
+
480
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
481
+ match value {
482
+ 0 => Ok(Self::LOCAL_OPTIM_NULL),
483
+ 1 => Ok(Self::LOCAL_OPTIM_INNER_LO),
484
+ 2 => Ok(Self::LOCAL_OPTIM_INNER_AND_ITER_LO),
485
+ 3 => Ok(Self::LOCAL_OPTIM_GC),
486
+ 4 => Ok(Self::LOCAL_OPTIM_SIGMA),
487
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::LocalOptimMethod"))),
488
+ }
489
+ }
490
+ }
491
+
450
492
opencv_type_enum! { crate::calib3d::LocalOptimMethod }
451
493
452
494
#[repr(C)]
@@ -457,6 +499,19 @@ pub mod calib3d {
457
499
NEIGH_FLANN_RADIUS = 2,
458
500
}
459
501
502
+ impl TryFrom<i32> for NeighborSearchMethod {
503
+ type Error = crate::Error;
504
+
505
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
506
+ match value {
507
+ 0 => Ok(Self::NEIGH_FLANN_KNN),
508
+ 1 => Ok(Self::NEIGH_GRID),
509
+ 2 => Ok(Self::NEIGH_FLANN_RADIUS),
510
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::NeighborSearchMethod"))),
511
+ }
512
+ }
513
+ }
514
+
460
515
opencv_type_enum! { crate::calib3d::NeighborSearchMethod }
461
516
462
517
#[repr(C)]
@@ -468,6 +523,20 @@ pub mod calib3d {
468
523
COV_POLISHER = 3,
469
524
}
470
525
526
+ impl TryFrom<i32> for PolishingMethod {
527
+ type Error = crate::Error;
528
+
529
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
530
+ match value {
531
+ 0 => Ok(Self::NONE_POLISHER),
532
+ 1 => Ok(Self::LSQ_POLISHER),
533
+ 2 => Ok(Self::MAGSAC),
534
+ 3 => Ok(Self::COV_POLISHER),
535
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::PolishingMethod"))),
536
+ }
537
+ }
538
+ }
539
+
471
540
opencv_type_enum! { crate::calib3d::PolishingMethod }
472
541
473
542
#[repr(C)]
@@ -479,6 +548,18 @@ pub mod calib3d {
479
548
CALIB_ROBOT_WORLD_HAND_EYE_LI = 1,
480
549
}
481
550
551
+ impl TryFrom<i32> for RobotWorldHandEyeCalibrationMethod {
552
+ type Error = crate::Error;
553
+
554
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
555
+ match value {
556
+ 0 => Ok(Self::CALIB_ROBOT_WORLD_HAND_EYE_SHAH),
557
+ 1 => Ok(Self::CALIB_ROBOT_WORLD_HAND_EYE_LI),
558
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::RobotWorldHandEyeCalibrationMethod"))),
559
+ }
560
+ }
561
+ }
562
+
482
563
opencv_type_enum! { crate::calib3d::RobotWorldHandEyeCalibrationMethod }
483
564
484
565
#[repr(C)]
@@ -490,6 +571,20 @@ pub mod calib3d {
490
571
SAMPLING_PROSAC = 3,
491
572
}
492
573
574
+ impl TryFrom<i32> for SamplingMethod {
575
+ type Error = crate::Error;
576
+
577
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
578
+ match value {
579
+ 0 => Ok(Self::SAMPLING_UNIFORM),
580
+ 1 => Ok(Self::SAMPLING_PROGRESSIVE_NAPSAC),
581
+ 2 => Ok(Self::SAMPLING_NAPSAC),
582
+ 3 => Ok(Self::SAMPLING_PROSAC),
583
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::SamplingMethod"))),
584
+ }
585
+ }
586
+ }
587
+
493
588
opencv_type_enum! { crate::calib3d::SamplingMethod }
494
589
495
590
#[repr(C)]
@@ -501,6 +596,20 @@ pub mod calib3d {
501
596
SCORE_METHOD_LMEDS = 3,
502
597
}
503
598
599
+ impl TryFrom<i32> for ScoreMethod {
600
+ type Error = crate::Error;
601
+
602
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
603
+ match value {
604
+ 0 => Ok(Self::SCORE_METHOD_RANSAC),
605
+ 1 => Ok(Self::SCORE_METHOD_MSAC),
606
+ 2 => Ok(Self::SCORE_METHOD_MAGSAC),
607
+ 3 => Ok(Self::SCORE_METHOD_LMEDS),
608
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::ScoreMethod"))),
609
+ }
610
+ }
611
+ }
612
+
504
613
opencv_type_enum! { crate::calib3d::ScoreMethod }
505
614
506
615
#[repr(C)]
@@ -546,6 +655,26 @@ pub mod calib3d {
546
655
SOLVEPNP_MAX_COUNT = 9,
547
656
}
548
657
658
+ impl TryFrom<i32> for SolvePnPMethod {
659
+ type Error = crate::Error;
660
+
661
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
662
+ match value {
663
+ 0 => Ok(Self::SOLVEPNP_ITERATIVE),
664
+ 1 => Ok(Self::SOLVEPNP_EPNP),
665
+ 2 => Ok(Self::SOLVEPNP_P3P),
666
+ 3 => Ok(Self::SOLVEPNP_DLS),
667
+ 4 => Ok(Self::SOLVEPNP_UPNP),
668
+ 5 => Ok(Self::SOLVEPNP_AP3P),
669
+ 6 => Ok(Self::SOLVEPNP_IPPE),
670
+ 7 => Ok(Self::SOLVEPNP_IPPE_SQUARE),
671
+ 8 => Ok(Self::SOLVEPNP_SQPNP),
672
+ 9 => Ok(Self::SOLVEPNP_MAX_COUNT),
673
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::SolvePnPMethod"))),
674
+ }
675
+ }
676
+ }
677
+
549
678
opencv_type_enum! { crate::calib3d::SolvePnPMethod }
550
679
551
680
/// cv::undistort mode
@@ -556,6 +685,18 @@ pub mod calib3d {
556
685
PROJ_SPHERICAL_EQRECT = 1,
557
686
}
558
687
688
+ impl TryFrom<i32> for UndistortTypes {
689
+ type Error = crate::Error;
690
+
691
+ fn try_from(value: i32) -> Result<Self, Self::Error> {
692
+ match value {
693
+ 0 => Ok(Self::PROJ_SPHERICAL_ORTHO),
694
+ 1 => Ok(Self::PROJ_SPHERICAL_EQRECT),
695
+ _ => Err(crate::Error::new(crate::core::StsBadArg, format!("Value: {value} is not valid for enum: crate::calib3d::UndistortTypes"))),
696
+ }
697
+ }
698
+ }
699
+
559
700
opencv_type_enum! { crate::calib3d::UndistortTypes }
560
701
561
702
pub type CirclesGridFinderParameters2 = crate::calib3d::CirclesGridFinderParameters;
0 commit comments