Flux opérationnel

Vous consultez actuellement la documentation pour la dernière version (2.5.4). Pour accéder à une autre version, cliquez sur le bouton "Changer de version" situé dans le coin supérieur droit de la page.

■ Si vous n’êtes pas sûr de la version du produit que vous utilisez, veuillez contacter le support technique Mech-Mind pour obtenir de l’aide.

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.

operation workflow

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.

  1. Appelez la méthode selectUserSet dans la classe UserSetManager pour 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])
  2. Appelez la méthode getAvailableParameters() dans la classe UserSet pour 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()
  3. Appelez la méthode getIntValue() et d’autres méthodes similaires dans la classe UserSet pour 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)
  4. Appelez la méthode setIntValue() et d’autres méthodes similaires dans la classe UserSet pour 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)
  5. Appelez la méthode saveAllParametersToDevice() dans la classe UserSet pour 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.

Cette page est-elle utile ?

Veuillez nous indiquer comment améliorer :

Nous accordons de l’importance à votre vie privée

Nous utilisons des cookies pour vous offrir la meilleure expérience possible sur notre site web. En continuant à utiliser le site, vous reconnaissez accepter l’utilisation des cookies. Si vous refusez, un cookie unique sera utilisé pour garantir que vous ne soyez pas suivi ou reconnu lors de votre visite sur ce site.