深度图上色,深度图raw文件转为png,如何读取深度图raw文件?

文章介绍了如何使用Python的NumPy和OpenCV库读取RAW和JPEG图像文件,包括获取图像尺寸、数据类型转换、色彩映射以及保存和显示图片的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

raw文件,要知道宽、高、通道数、数据类型,就能顺利转化,下面是转化代码:


import numpy as np
import cv2

# 图像的基本信息
width = 640  # 图像宽度
height = 480  # 图像高度
channels = 1  # 图像通道数,例如3表示RGB
dtype = 'uint16'  # 数据类型,根据实际情况可能是'uint8'或'uint16'等

# 使用numpy从RAW文件读取数据
with open('Depth_1714481422987_0.raw', 'rb') as f:
    img_data = np.fromfile(f, dtype=np.uint16)

# 根据图像尺寸重塑数组
img = img_data.reshape(height, width, channels)

# 转换为 uint8
img_uint8 = (img / 256).astype('uint8')

# 转换为灰度图像
# apply colormap on depth image(image must be converted to 8-bit per pixel first)
im_color = cv2.applyColorMap(cv2.convertScaleAbs(img_uint8, alpha=15), cv2.COLORMAP_JET)

# 保存图像
cv2.imwrite('Depth_1714481422987_0_color.png', im_color)

# 显示图像
cv2.imshow('Colored Depth Image', im_color)
cv2.waitKey(0)
cv2.destroyAllWindows()

一般jpg图的转换:

import numpy as np
import cv2

# 图像的基本信息
width = 640  # 图像宽度
height = 480  # 图像高度
channels = 3  # 图像通道数,例如3表示RGB
dtype = 'uint8'  # 数据类型,根据实际情况可能是'uint8''uint16'等

# 使用numpy从RAW文件读取数据
with open('Color_1714481423037_1.raw', 'rb') as f:
    img_data = np.fromfile(f, dtype=dtype)

# 根据图像尺寸重塑数组
img = img_data.reshape(height, width, channels)

# 如果图像数据是16位但cv2.imshow只支持8位,需要转换
if dtype == 'uint16' and cv2.__version__.startswith('3'):
    img = (img / 256).astype('uint8')

cv2.imwrite('Color_1714481423037_1.png', img)

# 显示图像
cv2.imshow('RAW Image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

获取场景中各点相对于摄象机的距离是计算机视觉系统的重要任务之一.场景中各点相对于摄象机的距离可以用深度图(Depth Map)来表示,即深度图中的每一个像素值表示场景中某一点与摄像机之间的距离.机器视觉系统获取场景深度图技术可分为被动测距传感和主动深度传感两大类.被动测距传感是指视觉系统接收来自场景发射或反射的光能量,形成有关场景光能量分布函数,即灰度图像,然后在这些图像的基础上恢复场景的深度信息.最一般的方法是使用两个相隔一定距离的摄像机同时获取场景图像来生成深度图.与此方法相类似的另一种方法是一个摄象机在不同空间位置上获取两幅或两幅以上图像,通过多幅图像的灰度信息和成象几何来生成深度图.深度信息还可以使用灰度图像的明暗特征、纹理特征、运动特征间接地估算.主动测距传感是指视觉系统首先向场景发射能量,然后接收场景对所发射能量的反射能量.主动测距传感系统也称为测距成象系统(Rangefinder).雷达测距系统和三角测距系统是两种最常用的两种主动测距传感系统.因此,主动测距传感和被动测距传感的主要区别在于视觉系统是否是通过增收自身发射的能量来测距。另外,我们还接触过两个概念:主动视觉和被动视觉。主动视觉是一种理论框架,与主动测距传感完全是两回事。主动视觉主要是研究通过主动地控制摄象机位置、方向、焦距、缩放、光圈、聚散度等参数,或广义地说,通过视觉和行为的结合来获得稳定的、实时的感知。我们将在最后一节介绍主动视觉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值