Flux opérationnel
Cette rubrique présente le flux opérationnel de base de l’utilisation de Mech-Eye API pour piloter un Caméra. La figure et les descriptions de cette rubrique utilisent les noms de classes et de méthodes de C++ Mech-Eye API. Pour les noms correspondants dans différentes langues, veuillez vous référer aux exemples de code.
Découvrir
Appelez la méthode discoverCameras() dans la classe Camera pour énumérer tous les Caméras actuellement connectables et obtenir les informations de chaque Caméra.
-
C++
-
C#
-
Python
std::vector<mmind::eye::CameraInfo> cameraInfoList = mmind::eye::Camera::discoverCameras();
var cameraInfoList = Camera.DiscoverCameras();
camera_info_list = Camera.discover_cameras()
Se connecter
Après avoir instancié la classe Camera, appelez la méthode connect() de cette classe pour vous connecter au Caméra correspondant en utilisant l’adresse IP ou les informations sur l’appareil obtenues par la méthode discoverCameras().
-
C++
-
C#
-
Python
mmind::eye::Camera camera;
mmind::eye::ErrorStatus status = camera.connect(cameraInfoList[inputIndex]);
mmind::eye::Camera cameras;
mmind::eye::ErrorStatus status = camera.connect("192.168.0.10");
var camera = new Camera();
var status = camera.Connect(cameraInfoList[inputIndex]);
var camera = new Camera();
var status = camera.Connect("192.168.0.10");
camera = Camera()
camera.connect("192.168.0.10")
Configurer
Appelez les méthodes des classes UserSetManager et UserSet pour sélectionner le groupe de paramètres sur le Caméra et ajuster les paramètres.
-
Appelez la méthode
selectUserSetdans la classeUserSetManagerpour sélectionner le groupe de paramètres à utiliser.Vous pouvez obtenir tous les groupes de paramètres disponibles sur le Caméra via la méthode getAllUserSetNames()de cette classe.-
C++
-
C#
-
Python
mmind::eye::UserSetManager userSetManager = camera.userSetManager(); std::vector<std::string> userSets; auto status = userSetManager.getAllUserSetNames(userSets); status = userSetManager.selectUserSet(userSets.front());var userSetManager = camera.UserSetManager(); List<string> userSets = new List<string>(); var status = userSetManager.GetAllUserSetNames(ref userSets); status = userSetManager.SelectUserSet(userSets[0]);user_set_manager = camera.userSetManager() error, user_sets = user_set_manager.get_all_user_set_names() user_set_manager.select_user_set(user_sets[0]) -
-
Appelez la méthode
getAvailableParameters()dans la classeUserSetpour obtenir les informations de tous les paramètres du groupe de paramètres actuel et vérifier le type de données de chaque paramètre.-
C++
-
C#
-
Python
mmind::eye::UserSet currentUserSet = camera.currentUserSet(); std::vector<Parameter*> parameters = currentUserSet.getAvailableParameters();var currentUserSet = camera.CurrentUserSet(); var parameters = currentUserSet.GetAvailableParameters();current_user_set = camera.current_user_set() arameters = current_user_set.get_available_parameters() -
-
Appelez la méthode
getIntValue()et d’autres méthodes similaires dans la classeUserSetpour obtenir la valeur actuelle d’un paramètre.-
C++
-
C#
-
Python
int fringeContrastThreshold = 0; currentUserSet.getIntValue(mmind::eye::pointcloud_processing_setting::FringeContrastThreshold::name, fringeContrastThreshold);var fringeContrastThreshold = new int(); camera.CurrentUserSet().GetIntValue(MMind.Eye.PointCloudProcessingSetting.FringeContrastThreshold.Name, ref fringeContrastThreshold);error, fringe_contrast_threshold = current_user_set.get_int_value(PointCloudFringeContrastThreshold.name) -
-
Appelez la méthode
setIntValue()et d’autres méthodes similaires dans la classeUserSetpour définir la valeur d’un paramètre.-
C++
-
C#
-
Python
auto status = currentUserSet.setIntValue(mmind::eye::pointcloud_processing_setting::FringeContrastThreshold::name, 15);var status = currentUserSet.SetIntValue(MMind.Eye.PointCloudProcessingSetting.FringeContrastThreshold.Name, 15);status = current_user_set.set_int_value(PointCloudFringeContrastThreshold.name, 15) -
-
Appelez la méthode
saveAllParametersToDevice()dans la classeUserSetpour enregistrer les valeurs de paramètres définies sur le Caméra.-
C++
-
C#
-
Python
auto status = currentUserSet.SaveAllParametersToDevice();var status = currentUserSet.SaveAllParametersToDevice();status = current_user_set.save_all_parameters_to_device() -
Acquérir et récupérer des données
Mech-Eye API fournit diverses méthodes pour acquérir et récupérer différents types de données. En utilisant ces méthodes, vous pouvez obtenir les données 2D et 3D séparément ou conjointement.
-
Acquérir et récupérer les données pour générer l’image 2D:
-
C++
-
C#
-
Python
mmind::eye::Frame2D frame2D; camera.capture2D(frame2D); mmind::eye::Color2DImage color = frame2D.getColorImage(); mmind::eye::GrayScale2DImage gray= frame2D.getGrayScaleImage();var frame = new Frame2D(); camera.Capture2D(ref frame); var color = frame.GetColorImage(); var gray = frame.GetGrayScaleImage();frame_2d = Frame2D() camera.capture_2d(frame_2d) color = frame.get_color_image() gray = frame.get_gray_scale_image() -
-
Acquérir et récupérer les données pour générer la carte de profondeur et le nuage de points non texturé:
-
C++
-
C#
-
Python
mmind::eye::Frame3D frame3D; camera.capture3D(frame3D); mmind::eye::DepthMap depth = frame3D.getDepthMap(); mmind::eye::PointCloud cloud= frame3D.getUntexturedPointCloud();var frame = new Frame3D(); camera.Capture3D(ref frame); var depth = frame.GetDepthMap(); var cloud = frame.GetUntexturedPointCloud();frame_3d = Frame3D() camera.capture_3d(frame_3d) depth = frame.get_depth_map() cloud = frame_3d.get_untextured_point_cloud() -
-
Acquérir et récupérer les données pour générer l’image 2D, la carte de profondeur et le nuage de points texturé:
-
C++
-
C#
-
Python
mmind::eye::Frame2DAnd3D frame2DAnd3D; camera.capture2DAnd3D(frame2DAnd3D); mmind::eye::Color2DImage color = frame2DAnd3D.frame2D().getColorImage(); mmind::eye::DepthMap depth = frame2DAnd3D.frame3D().getDepthMap(); mmind::eye::TexturedPointCloud cloud = frame2DAnd3D.getTexturedPointCloud();var frame = new Frame2DAnd3D(); camera.Capture2DAnd3D(ref frame); var color = frame2DAnd3D.Frame2D().GetColorImage(); var depth = frame2DAnd3D.Frame3D().GetDepthMap(); var cloud = frame2DAnd3D.GetTexturedPointCloud();frame = Frame2DAnd3D() camera.capture_2d_and_3d(frame) color = frame.frame_2d().get_color_image() depth = frame.frame_3d().get_depth_image() cloud = frame.get_textured_point_cloud() -
-
Acquérir et récupérer les données pour générer la carte de profondeur et le nuage de points non texturé avec normales:
-
C++
-
C#
-
Python
mmind::eye::Frame3D frame3D; camera.capture3DWithNormal(frame3D); mmind::eye::DepthMap depth = frame3D.getDepthMap(); PointCloudWithNormals pointCloud = frame3D.getUntexturedPointCloudWithNormals();var frame3D = new Frame3D(); camera.Capture3DWithNormal(ref frame3D); var depth = frame3D.GetDepthMap(); var pointCloud = frame3D.GetUntexturedPointCloudWithNormals();frame_3d = Frame3D() camera.capture_3d_with_normal(frame_3d) depth = frame_3d.get_depth_map() point_cloud = frame_3d.get_untextured_point_cloud_with_normals() -
-
Acquérir et récupérer les données pour générer l’image 2D, la carte de profondeur et le nuage de points texturé avec normales:
-
C++
-
C#
-
Python
mmind::eye::Frame2DAnd3D frame2DAnd3D; camera.capture2DAnd3DWithNormal(frame2DAnd3D); mmind::eye::Color2DImage color = frame2DAnd3D.frame2D().getColorImage(); mmind::eye::DepthMap depth = frame2DAnd3D.frame3D().getDepthMap(); TexturedPointCloudWithNormals pointCloud = frame2DAnd3D.getTexturedPointCloudWithNormals();var frame2DAnd3D = new Frame2DAnd3D(); camera.Capture2DAnd3DWithNormal(ref frame2DAnd3D); var color = frame2DAnd3D.Frame2D().GetColorImage(); var depth = frame2DAnd3D.Frame3D().GetDepthMap(); var pointCloud = frame2DAnd3D.GetTexturedPointCloudWithNormals();frame_2d_and_3d = Frame2DAnd3D() camera.capture_2d_and_3d_with_normal(frame_2d_and_3d) color = frame_2d_and_3d.frame_2d().get_color_image() depth = frame_2d_and_3d.frame_3d().get_depth_map() point_cloud = frame_2d_and_3d.get_textured_point_cloud_with_normals() -
Se déconnecter
Appelez la méthode disconnect() dans la classe Camera pour vous déconnecter du Caméra actuel.
-
C++
-
C#
-
Python
camera.disconnect();
camera.Disconnect();
camera.disconnect()
Cette rubrique a présenté le flux opérationnel de base de l’utilisation de Mech-Eye API pour piloter un Caméra. La rubrique suivante fournit le manuel de référence de Mech-Eye API.