ENVI遥感影像处理:Cursor Location/Value详解与选项设置

需积分: 3 15 下载量 6 浏览量 更新于2024-08-10 收藏 29.8MB PDF 举报
本章节主要讨论了ENVI软件中的一个重要工具——Cursor Location/Value(光标位置/值),这是在遥感影像处理中用于获取图像窗口内像素位置及其对应值的功能。Cursor Location/Value允许用户实时观察图像中鼠标指针所在位置的样本坐标(X,Y),以及像元数据值。这个特性在科研、图像分析和质量控制中非常实用,因为它可以直观地展示图像细节和数据变化。 在ENVI中,像元坐标通常表示的是左上角的值,地图坐标同样基于此。然而,需要注意的是,地图坐标可能会因为图像的地理坐标定位而有所不同,比如当用户在ENVI头文件中输入了图像的像元坐标,实际地图坐标会指向输入坐标中心。对于多窗口显示的情况,Cursor Location/Value会同步显示所有窗口的当前像素数据,这对于跨多个图像窗口的分析尤其有价值。 Cursor Location/Value窗口还提供了Options菜单,用户可以调整多种设置。例如,可以选择用整数或浮点数显示位置值,这对于精确度要求较高的研究至关重要。此外,用户还可以设置像元分数的显示,以便于理解像素的局部分布。菜单中的其他选项还包括改变经纬度信息的格式和设置记录数字的精度,确保数据呈现的准确性。 浏览浮点像元位置和整数像元位置是两种不同的操作模式,前者适用于需要精细位置信息的场景,后者则更适合于常规的整数像素操作。通过这些功能,ENVI使得遥感影像处理更加灵活和精确。 Cursor Location/Value是ENVI软件中不可或缺的一部分,它提升了遥感数据分析的效率和用户体验。本章节内容为用户提供了深入理解和利用这一工具的指导,无论是初学者还是高级用户,都能从中受益。通过结合ENVI的其他功能,如遥感数据读取、预处理、高级分析等,用户可以构建完整的遥感影像处理流程,为各个领域的应用提供强大的支持。

这段代码在运行时import SimpleITK as sitkimport numpy as npimport os# 设置文件路径data_path = 'C:/Users/Administrator/Desktop/LiTS2017/'save_path = 'C:/Users/Administrator/Desktop/2D-LiTS2017/'if not os.path.exists(save_path): os.makedirs(save_path)# 定义函数将3D图像保存为2D的.png格式def save_image_as_png(image, save_folder, name_prefix): for i in range(image.shape[2]): slice = np.squeeze(image[:, :, i]) slice = slice.astype(np.float32) slice *= 255.0/slice.max() slice = slice.astype(np.uint8) save_name = os.path.join(save_folder, name_prefix + '_' + str(i) + '.png') sitk.WriteImage(sitk.GetImageFromArray(slice), save_name)# 读取Training Batch 1中的图像image_path = os.path.join(data_path, 'Training Batch 1/volume-0.nii')image = sitk.ReadImage(image_path)image_array = sitk.GetArrayFromImage(image)save_folder = os.path.join(save_path, 'image')if not os.path.exists(save_folder): os.makedirs(save_folder)save_image_as_png(image_array, save_folder, 'img')# 读取Training Batch 2中的标签label_path = os.path.join(data_path, 'Training Batch 2/segmentation-0.nii')label = sitk.ReadImage(label_path)label_array = sitk.GetArrayFromImage(label)# 将标签转换为灰度图并保存label_array[label_array == 1] = 128label_array[label_array == 2] = 255save_folder = os.path.join(save_path, 'mask')if not os.path.exists(save_folder): os.makedirs(save_folder)save_image_as_png(label_array, save_folder, 'mask')会出现RuntimeWarning: divide by zero encountered in true_divide slice *= 255.0/slice.max()这种情况,修复它,并给出完整代码

2023-05-24 上传