问题描述
我的问题是什么?
我正在开发一个项目,该项目将图像作为输入,然后使用 DenseDepth 将其转换为深度图,然后我想通过获取颜色范围然后生成一个深度图的蒙版掩码,然后通过将掩码分成 9 个偶数网格,将此数据存储到一个数组中,如果它包含超过 50% 的掩码区域(黑色),则将其保存为数组中的 1,否则保存为 0 . 我在下面整理了一个小插图,以更好地说明我想要实现的目标。我标记完成的地方是我已经完成的。 因为这是我的第一个问题,我无法直接嵌入图像,所以我在下面链接了它!
Illustration explaining my issues and what I want to achieve clearly
我是如何尝试解决这个问题的?
这是我在图像分割上尝试创建蒙版的一篇文章,但是,我确信它可以改进here - 这是西班牙语(我认为)但在 Chrome 上它会自动翻译
这是我的屏蔽代码:
import cv2
import numpy as np
image = cv2.imread('Depth Map 1.png')
hsv = cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
blur = cv2.medianBlur(hsv,11)
lower = np.array([0,35])
upper = np.array([0,44])
mask = cv2.inRange(blur,lower,upper)
res = cv2.bitwise_and(image,image,mask= mask)
cv2.imshow("mask ",mask)
cv2.imshow('stack',np.hstack([image,res]))
cv2.waitKey(0)
为了找到上限和下限,我运行了这个 code - 按 R 获取值。
至于将蒙版图像划分为网格,然后在此基础上创建一个 9 位数组,我完全不知所措。
如果有人感兴趣,我会使用 DenseDepth 生成深度图,然后对其进行调整以满足我的需要,即。而是创建一个灰度图并输出多个单张图像。
如果有任何我可能遗漏的额外信息或可以帮助您解决问题的事情,那么我一定会尽力提供帮助
出于测试目的,我包含了一些我生成的深度图:
编辑 在代码中,我将 '6.png' 调整为 'Depth Map 1.png' 以使其更清晰。
我意识到这个问题更适合分成两个单独的问题。我有/正在问。
这是第一个:
How to mask a Depth Map to select grey values in-between two specified hex-codes?
但是,这里的帮助肯定会受到赞赏!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)