关于使用Python OpenCV访问深度图像

zazmityj  于 2022-11-15  发布在  Python
关注(0)|答案(1)|浏览(145)

我有一个名为depth_msg的数组,其中有很多数字代表图像的深度值。当我将它们转换为cv2消息格式时,
我得到这个深度图像,

实际图像是

如何借助深度图像获得红甜椒和黄甜椒的深度值?
我的准则是

import cv2
import numpy as np
from cv_bridge import CvBridge

def depth_clbck(depth_msg):

    bridge = CvBridge()
    image = bridge.imgmsg_to_cv2(depth_msg,"32FC1")
    depth_array = np.array(image, dtype=np.float32)
    depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(image, alpha=0.05), cv2.COLORMAP_HSV)

    cv2.imshow('image', np.array(depth_colormap))
    cv2.waitKey()

如何借助这个深度数组和深度图像得到红色和黄色甜椒的深度值?

b4lqfgs4

b4lqfgs41#

为了得到 Mage 中红辣椒和黄辣椒的深度值,你首先要从图片中分割出两个辣椒的斑点。一旦你有了分割的遮罩,你就可以通过切片得到。
对于分割,您可以手动分割出辣椒或使用图像分割算法-此链接将帮助您开始:
https://scikit-image.org/docs/stable/api/skimage.segmentation.html
一旦获得分割掩码 maskdepth_array[mask〉0] 将获取深度像素。

相关问题