在阈值处理后,我有一个人手的深度图像。我想恢复一些几何特征如轮廓,凸壳等,但所有这些功能都适用于8或32位图像,所以我需要转换。我在python工作!
我尝试过使用一些开放的cv函数
img32 = np.array(thresh, dtype=np.float32) # This line only change the type, not values
img32 *= 65536 # Now we get the good values in 32 bit format
print img.dtype
但我总是16张图片。
答案 0 :(得分:0)
我不相信PNG支持浮点数据,所以我不确定您希望输出的格式是什么?
如果原始的32位浮点RGB是可以的,你可以使用安装在大多数Linux发行版上的ImageMagick,并且可以随时用于OS X和Windows。命令是
convert input.png -depth 32 -define quantum:format=floating-point rgb:out.rgb
例如,如果您创建一个像这样的1x1白色图像
convert -size 1x1 xc:white -depth 32 -define quantum:format=floating-point rgb:out.rgb
你得到一个像这样的12字节图像
xxd out.rgb
0000000: 0000 803f 0000 803f 0000 803f
如果你创建一个像这样的1x1黑色图像
convert -size 1x1 xc:black -depth 32 -define quantum:format=floating-point rgb:out.rgb
你得到一个像这样的12字节图像
xxd out.rgb
0000000: 0000 0000 0000 0000 0000 0000