最近在处理SAR图像时遇到一些问题,尤其是在数据读取时候遇到一些隐藏问题,导致实验结果非常糟糕。于是整理下常用数据处理的方法写下来记录以下,以备查询。
SAR图像成像后的数据一般保存的格式是uint16,图像看上去就是乌漆麻黑的一片,对于uint16格式数据,像素值取值范围是0-65535,我们日常所见到的图像一般是uint8格式的,像素值范围是0-255.对于图像的读取可以采用以下几种方式。
Matplotlib.image读取图像
采用matplotplt.image.imread读取与采用opencv读取的区别,即对于单通道,位深度是16位的SAR图像数据,采用opencv读取时,未对读取方式进行设置时(一般默认按RGB三通道格式读取,即使是一张单通道的灰度图像读出来也是三通道,只是每个通道的像素值都是一样的,而且通道顺序为BGR);而采用matplotplt.image.imread时就会按照原始数据格式读取,且通道顺序为正常的RGB顺序。
import matplotlib.image as mping
i = cv2.imread(r'D:\shipdata\yuandata\000001.tif')# 000001.tif原始格式为16位
t = mping.imread(r'D:\shipdata\yuandata\000001.tif')

opencv读取图像格式时的几种方式设置
import cv2
#将原始图像转化为RGB三通道图像,图像深度转为8位
i = cv2.imread(r'D:\shipdat

本文介绍了SAR图像处理中常见的数据读取和保存方式,包括Matplotlib.image、OpenCV以及Matlab的读取图像方法。特别讨论了OpenCV的坐标系统、数据类型转换如im2double和uint8的区别,以及如何正确显示和保存double类型的图像。
最低0.47元/天 解锁文章
2014

被折叠的 条评论
为什么被折叠?



