Technology sharing

MechMind exstructa lumine photographica imaginem photographicam SDK vocationis capiendae

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Test effectus

Mech-Mentis exstructa lux camera

Mech Mens lucis cameras structas, praesertim seriem Mech-Oculi, sunt gradus industriae summus praecisio, 3D camerae quae late in automatione industriae, navigatione robot, et inspectione et in aliis agris qualitatis utuntur. Haec est accurata analysis Mech Mindae structae lucis camerae:

1. Product Overview

Mech Mens lucis camerae structae, sicut Mech-Ey PRO, technologiae lucis alta celeritate structae utuntur ad resistentiam praeclaram ambientium lucem, servato alta accuratione et celeritate. Hae camerae plerumque algorithm modulorum divitem visionem continent et ad plures missiones practicas typicas applicari possunt, ut fabricandis onerandi et exonerandi, summus praecise positio, conventus, cochleae constringendae et investigatio academica.

2. principium Opus

Mech Mens camera levis fabricata maxime utitur principio proiectionis structurae lucis. Speciosa exemplaria (ut lux ab lasers structa) in objectum photographatae projiciunt, et forma et figura objecti a camera capiuntur. Haec technologia accurate computare potest statum et figuram rei per reflexionem et refractionem lucis ad obiectum.

3. Product features

  1. Magna cura Mech Mens lucis structurae cameram altam praecisionem consequi potest exempla tria dimensiva in brevi. Exempli gratia: Mech-Oculus PRO Z directio unius punctum iterabilis ad 0.05mm (ad 1.0m) pervenire potest.
  2. mobilitas magna: Camera ieiunium notitias acquirendi et facultates expediendi habet. Exempli gratia, comparatio typica tempus Mech-Oculi PRO 0.3~0,6 secundis est.
  3. Visus campus amplus et magna profunditas agri: Exempla quaedam, ut Mech-Oculus 3D camera alta, notas habent magnae campi visui et magnae altitudinis agri, et applicari possunt variis generibus positis communibus.
  4. Repugnantia ad ambientium lucem: Mech structa Mens lucis camerae sub potenti lumine ambienti interventu (ut >20000lx) optimos effectus imaginandi adhuc conservare potest.
  5. Flexibile instruere: Camera maxime amet notae robotarum domi forisque aptatur, et motum integrum consequi potest robots adaptatorum adaptatorum.
  6. Aperta et facilis ad usum: Camera praebet amicabilem usorem interface et apertum API ad faciliorem evolutionem et integrationem utentium secundarium.
  7. Stabilis et certa: Mech Mens lucis structae cameras altam stabilitatem et constantiam habent, ut Mech-Eye PRO medium tempus inter defectis (MTBF) ≥ 40,000 horarum.

4. Application areas

Mech Mensae lucis structurae camerae late utuntur in autocinetis, aviationibus, fingendis fabricandis, automationibus industrialibus aliisque agris. In agro autocineto, possunt cito et accurate informationem superficiei currus corporei obtinere; in agro aviationo, possunt tres figurae dimensiones informationes aircraft obtinere, accurate notitias subsidia pro consilio et fabricando aircraft praebentes. .

5. Libri

Mech Mens lucis structae cameras in campis magni ponderis partes agunt, sicut automatio industrialis et navigationis robotae propter altam subtilitatem, altam celeritatem, amplam campi intuitum, magnam altitudinem campi, magnae luci ambienti resistentiam, stabilitatem et constantiam. Continua technologiarum progressione et continua dilatatione missionum applicationis, Mech Mind fabricatae lucis cameras exspectantur suam singularem valorem in pluribus agris demonstrare.

Python evolutionis environment extruxerat

Create virtualis amet

Download opencv-python sarcina

Download Mecamander CAMERA Excipio Package

  1. pip install MechEyeAPI
  2. pip install python-opencv

Gradus analysis

Iungo camera

  1. def ConnectCamera(self):
  2. camera_infos = Camera.discover_cameras()
  3. if len(camera_infos) != 1:
  4. print("相机连接出现异常,检查网线")
  5. return
  6. error_status = self.camera.connect(camera_infos[0])
  7. if not error_status.is_ok():
  8. show_error(error_status)
  9. return

Disconnect camera

  1. def DisConnectCamera(self):
  2. self.camera.disconnect()
  3. print("Disconnected from the camera successfully.")

Colligunt 2D imagines et 3D imagines

  1. def connect_and_capture(self):
  2. # Obtain the 2D image resolution and the depth map resolution of the camera.
  3. resolution = CameraResolutions()
  4. show_error(self.camera.get_camera_resolutions(resolution))
  5. print_camera_resolution(resolution)
  6. time1 = time.time()
  7. # Obtain the 2D image.
  8. frame2d = Frame2D()
  9. show_error(self.camera.capture_2d(frame2d))
  10. row, col = 222, 222
  11. color_map = frame2d.get_color_image()
  12. print("The size of the 2D image is {} (width) * {} (height).".format(
  13. color_map.width(), color_map.height()))
  14. rgb = color_map[row * color_map.width() + col]
  15. print("The RGB values of the pixel at ({},{}) is R:{},G:{},B{}n".
  16. format(row, col, rgb.b, rgb.g, rgb.r))
  17. Image2d = color_map.data()
  18. time2 = time.time()
  19. print('grab 2d image : '+str((time2-time1)*1000)+'ms')
  20. # if not confirm_capture_3d():
  21. # return
  22. # Obtain the depth map.
  23. frame3d = Frame3D()
  24. show_error(self.camera.capture_3d(frame3d))
  25. depth_map = frame3d.get_depth_map()
  26. print("The size of the depth map is {} (width) * {} (height).".format(
  27. depth_map.width(), depth_map.height()))
  28. depth = depth_map[row * depth_map.width() + col]
  29. print("The depth value of the pixel at ({},{}) is depth :{}mmn".
  30. format(row, col, depth.z))
  31. Image3d = depth_map.data()
  32. time3 = time.time()
  33. print('grab depth image : '+str((time3-time2)*1000)+'ms')
  34. return Image2d,Image3d
  35. # Obtain the point cloud.
  36. # point_cloud = frame3d.get_untextured_point_cloud()
  37. # print("The size of the point cloud is {} (width) * {} (height).".format(
  38. # point_cloud.width(), point_cloud.height()))
  39. # point_xyz = point_cloud[row * depth_map.width() + col]
  40. # print("The coordinates of the point corresponding to the pixel at ({},{}) is X: {}mm , Y: {}mm, Z: {}mmn".
  41. # format(row, col, point_xyz.x, point_xyz.y, point_xyz.z))

Test codice completum

  1. # With this sample, you can connect to a camera and obtain the 2D image, depth map, and point cloud data.
  2. import time
  3. from mecheye.shared import *
  4. from mecheye.area_scan_3d_camera import *
  5. from mecheye.area_scan_3d_camera_utils import *
  6. import cv2
  7. class ConnectAndCaptureImages(object):
  8. def __init__(self):
  9. self.camera = Camera()
  10. def connect_and_capture(self):
  11. # Obtain the 2D image resolution and the depth map resolution of the camera.
  12. resolution = CameraResolutions()
  13. show_error(self.camera.get_camera_resolutions(resolution))
  14. print_camera_resolution(resolution)
  15. time1 = time.time()
  16. # Obtain the 2D image.
  17. frame2d = Frame2D()
  18. show_error(self.camera.capture_2d(frame2d))
  19. row, col = 222, 222
  20. color_map = frame2d.get_color_image()
  21. print("The size of the 2D image is {} (width) * {} (height).".format(
  22. color_map.width(), color_map.height()))
  23. rgb = color_map[row * color_map.width() + col]
  24. print("The RGB values of the pixel at ({},{}) is R:{},G:{},B{}n".
  25. format(row, col, rgb.b, rgb.g, rgb.r))
  26. Image2d = color_map.data()
  27. time2 = time.time()
  28. print('grab 2d image : '+str((time2-time1)*1000)+'ms')
  29. # if not confirm_capture_3d():
  30. # return
  31. # Obtain the depth map.
  32. frame3d = Frame3D()
  33. show_error(self.camera.capture_3d(frame3d))
  34. depth_map = frame3d.get_depth_map()
  35. print("The size of the depth map is {} (width) * {} (height).".format(
  36. depth_map.width(), depth_map.height()))
  37. depth = depth_map[row * depth_map.width() + col]
  38. print("The depth value of the pixel at ({},{}) is depth :{}mmn".
  39. format(row, col, depth.z))
  40. Image3d = depth_map.data()
  41. time3 = time.time()
  42. print('grab depth image : '+str((time3-time2)*1000)+'ms')
  43. return Image2d,Image3d
  44. # Obtain the point cloud.
  45. # point_cloud = frame3d.get_untextured_point_cloud()
  46. # print("The size of the point cloud is {} (width) * {} (height).".format(
  47. # point_cloud.width(), point_cloud.height()))
  48. # point_xyz = point_cloud[row * depth_map.width() + col]
  49. # print("The coordinates of the point corresponding to the pixel at ({},{}) is X: {}mm , Y: {}mm, Z: {}mmn".
  50. # format(row, col, point_xyz.x, point_xyz.y, point_xyz.z))
  51. def main(self):
  52. # List all available cameras and connect to a camera by the displayed index.
  53. if find_and_connect(self.camera):
  54. d2,d3 = self.connect_and_capture()
  55. self.camera.disconnect()
  56. print("Disconnected from the camera successfully.")
  57. return d2,d3
  58. def GrabImages(self):
  59. d2, d3 = self.connect_and_capture()
  60. return d2, d3
  61. def ConnectCamera(self):
  62. camera_infos = Camera.discover_cameras()
  63. if len(camera_infos) != 1:
  64. print("相机连接出现异常,检查网线")
  65. return
  66. error_status = self.camera.connect(camera_infos[0])
  67. if not error_status.is_ok():
  68. show_error(error_status)
  69. return
  70. def DisConnectCamera(self):
  71. self.camera.disconnect()
  72. print("Disconnected from the camera successfully.")
  73. if __name__ == '__main__':
  74. #pip install MechEyeAPI
  75. print('初始化相机对象')
  76. MechMindGraber = ConnectAndCaptureImages()
  77. # d2,d3 = a.main()
  78. print('连接相机')
  79. MechMindGraber.ConnectCamera()
  80. for i in range(60):
  81. print(str(i)+'rn')
  82. print('采集亮度图和深度图')
  83. d2,d3 = MechMindGraber.GrabImages()
  84. cv2.imshow('1',d2)
  85. cv2.waitKey()
  86. cv2.imshow('1', d3)
  87. cv2.waitKey()
  88. print('断开连接')
  89. MechMindGraber.DisConnectCamera()