streamer_des_images_opencv_avec_v4l2-loopback
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| streamer_des_images_opencv_avec_v4l2-loopback [2022/02/26 11:16] – [Profondeur d'une RealSense D455] serge | streamer_des_images_opencv_avec_v4l2-loopback [2022/03/03 12:35] (Version actuelle) – [Profondeur d'une RealSense D455] serge | ||
|---|---|---|---|
| Ligne 112: | Ligne 112: | ||
| <file python sender_rs_depth.py> | <file python sender_rs_depth.py> | ||
| + | """ | ||
| + | Voir https:// | ||
| + | |||
| + | Suppression du fond, voir | ||
| + | https:// | ||
| + | """ | ||
| + | |||
| import os | import os | ||
| import time | import time | ||
| Ligne 123: | Ligne 130: | ||
| VIDEO = '/ | VIDEO = '/ | ||
| - | # Avec ou sans slider pour régler | + | # Avec ou sans slider pour régler |
| SLIDER = 1 | SLIDER = 1 | ||
| - | + | # Réglable avec le slider | |
| - | # GRAY_BACKGROUND: | + | # We will be removing the background of objects more than |
| - | # si elle est modifiée par le slider, il faut le modifier ci-dessous | + | # CLIPPING_DISTANCE_IN_MILLIMETER away |
| - | GRAY_BACKGROUND | + | CLIPPING_DISTANCE_IN_MILLIMETER |
| class MyRealSense: | class MyRealSense: | ||
| - | def __init__(self): | + | def __init__(self, video, slider, clip): |
| - | | + | |
| - | | + | |
| - | | + | |
| self.width = 1280 | self.width = 1280 | ||
| Ligne 168: | Ligne 175: | ||
| # Getting the depth sensor' | # Getting the depth sensor' | ||
| depth_sensor = profile.get_device().first_depth_sensor() | depth_sensor = profile.get_device().first_depth_sensor() | ||
| - | depth_scale = depth_sensor.get_depth_scale() | + | |
| - | print(" | + | print(" |
| - | # We will be removing the background of objects more than | + | |
| - | # clipping_distance_in_meters meters away | + | |
| - | clipping_distance_in_meters = 1 #1 meter | + | |
| - | | + | |
| # Affichage de la taille des images | # Affichage de la taille des images | ||
| Ligne 184: | Ligne 186: | ||
| self.camera = pyfakewebcam.FakeWebcam(VIDEO, | self.camera = pyfakewebcam.FakeWebcam(VIDEO, | ||
| - | if SLIDER: | + | if self.slider: |
| - | self.create_slider(GRAY_BACKGROUND) | + | self.create_slider() |
| - | def create_slider(self, gray): | + | def create_slider(self): |
| - | # # global GRAY_BACKGROUND | + | |
| cv2.namedWindow(' | cv2.namedWindow(' | ||
| - | cv2.createTrackbar(' | + | cv2.createTrackbar(' |
| - | self.gray_background_callback) | + | self.remove_background_callback) |
| - | cv2.setTrackbarPos(' | + | cv2.setTrackbarPos(' |
| cv2.namedWindow(' | cv2.namedWindow(' | ||
| - | def gray_background_callback(self, value): | + | def remove_background_callback(self, value): |
| - | | + | |
| - | | + | |
| def run(self): | def run(self): | ||
| """ | """ | ||
| - | global GRAY_BACKGROUND | ||
| - | global SLIDER | ||
| while self.pose_loop: | while self.pose_loop: | ||
| Ligne 221: | Ligne 220: | ||
| continue | continue | ||
| - | # Suppression du fond, voir | ||
| - | # https:// | ||
| depth_image = np.asanyarray(aligned_depth_frame.get_data()) | depth_image = np.asanyarray(aligned_depth_frame.get_data()) | ||
| color_image = np.asanyarray(color_frame.get_data()) | color_image = np.asanyarray(color_frame.get_data()) | ||
| Ligne 229: | Ligne 226: | ||
| # depth image is 1 channel, color is 3 channels | # depth image is 1 channel, color is 3 channels | ||
| depth_image_3d = np.dstack((depth_image, | depth_image_3d = np.dstack((depth_image, | ||
| - | bg_removed = np.where((depth_image_3d > self.clipping_distance) |\ | + | |
| - | (depth_image_3d <= 0), GRAY_BACKGROUND, color_image) | + | |
| + | (depth_image_3d <= 0), 0, color_image) | ||
| depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, | depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, | ||
| Ligne 237: | Ligne 235: | ||
| images = np.hstack((bg_removed, | images = np.hstack((bg_removed, | ||
| - | if SLIDER: | + | if self.slider: |
| cv2.imshow(' | cv2.imshow(' | ||
| Ligne 248: | Ligne 246: | ||
| if __name__ == ' | if __name__ == ' | ||
| - | | + | |
| + | | ||
| mrs.run() | mrs.run() | ||
| </ | </ | ||
streamer_des_images_opencv_avec_v4l2-loopback.1645874206.txt.gz · Dernière modification : de serge
