RGB-D 카메라 이미지 획득용 ROS 패키지 ROS Package for getting RGB-D Images from RGB-D Sensor
6715 단어 ImageProcessing파이썬ROS
RealSense 등의 RGB-D 센서로부터 이미지를 취득하는 ROS 노드를 만들고 싶다 (개량 예정 있음)
비슷한 일을 하고 있는 사람은 많습니다만, 꽤 전에 만들었던 ROS 패키지의 소개를 해 둡니다. GitHub에 올리고 있습니다.
htps : // 기주 b. 코 m / 모리 tkys / 코 r_에서 pth_에 t
이 패키지의 세일즈 포인트는 RGB가 있는 화소(x, y)에 대응한 Depth를 취득하거나, Depth 화상의 가시화나 편집을 할 수 있다는 점입니다.
The selling point of this package is that you can get the Depth corresponding to the pixel (x, y) with RGB, and you can visualize and edit the Depth image.
다음 depth_callback 함수 중,
depth_img=depth_array*255/65535
depth_img2 = np.array(depth_img, dtype=np.uint8)
depth_color_img = np.stack((depth_img2,)*3, axis=-1)
에 Depth의 시각화나,
#Extract the center of depth image (20x20 pixels)
depth_array2 = depth_array[h/2-10:h/2+10, w/2-10:w/2+10]
depth_array3 = depth_array2[depth_array2 > 0]
self.m_depth = np.mean(depth_array3)
에서 Depth 값을 가져옵니다.
color_depth_edit.pydef depth_callback(self, data):
try:
self._depth_pub.publish(data)
cv_dimage = self._bridge.imgmsg_to_cv2(data, 'passthrough')
except CvBridgeError, e:
print e
h, w = cv_dimage.shape[:2]
#you should change under 2 lines if you don't use realsense
depth_array = np.array(cv_dimage, dtype=np.float32)
depth_img = depth_array * 255/65535
depth_img2 = np.array(depth_img, dtype=np.uint8)
depth_color_img = np.stack((depth_img2,)*3, axis=-1)
# Extract the center of depth image (20x20 pixels)
depth_array2 = depth_array[h/2-10:h/2+10, w/2-10:w/2+10]
depth_array3 = depth_array2[depth_array2 > 0]
self.m_depth = np.mean(depth_array3)
print('The mean depth value at the center of image is', self.m_depth)
depth_out = self.img_edit(depth_color_img)
try:
self._depth_pub.publish(self._bridge.cv2_to_imgmsg(depth_out, 'bgr8'))
except CvBridgeError, e:
print e
런타임에 rqt를 열면 이렇게됩니다.
! ! ! 향후 업데이터 예정! ! !
syncronization 을 사용해 RGB 와 Depth 의 취득 타이밍을 일치시킨 패키지에 버전 업 합니다.
Reference
이 문제에 관하여(RGB-D 카메라 이미지 획득용 ROS 패키지 ROS Package for getting RGB-D Images from RGB-D Sensor), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moriitkys/items/67eb1a0b9378b44e6ef9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def depth_callback(self, data):
try:
self._depth_pub.publish(data)
cv_dimage = self._bridge.imgmsg_to_cv2(data, 'passthrough')
except CvBridgeError, e:
print e
h, w = cv_dimage.shape[:2]
#you should change under 2 lines if you don't use realsense
depth_array = np.array(cv_dimage, dtype=np.float32)
depth_img = depth_array * 255/65535
depth_img2 = np.array(depth_img, dtype=np.uint8)
depth_color_img = np.stack((depth_img2,)*3, axis=-1)
# Extract the center of depth image (20x20 pixels)
depth_array2 = depth_array[h/2-10:h/2+10, w/2-10:w/2+10]
depth_array3 = depth_array2[depth_array2 > 0]
self.m_depth = np.mean(depth_array3)
print('The mean depth value at the center of image is', self.m_depth)
depth_out = self.img_edit(depth_color_img)
try:
self._depth_pub.publish(self._bridge.cv2_to_imgmsg(depth_out, 'bgr8'))
except CvBridgeError, e:
print e
syncronization 을 사용해 RGB 와 Depth 의 취득 타이밍을 일치시킨 패키지에 버전 업 합니다.
Reference
이 문제에 관하여(RGB-D 카메라 이미지 획득용 ROS 패키지 ROS Package for getting RGB-D Images from RGB-D Sensor), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moriitkys/items/67eb1a0b9378b44e6ef9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)