图像分割之数据处理二
1.仿射变换
将切割后的数据合并之后,还有一个问题那就是会出现丢失坐标的问题,还需要将其还原。
1 | from osgeo import gdal |
参考文章:
【1】.python+GDAL给图像设置地理参考(GeoTransform和Projection的设置) 可以看出,设置地理参考后,能够将图像呈现在对的位置(左上角坐标和分辨率固定),但无法纠正其几何形变。对高分影像而言,几何校正需要结合提供的rpb文件完成。下一步将使用rpb文件完成几何校正。
【2】.遥感影像的像素坐标转地理坐标(仿射变换)
【3】.GDAL中地理坐标与像素坐标之间的转换 这里是地理坐标转换成了像素坐标
【1】.python+GDAL给图像设置地理参考(GeoTransform和Projection的设置) 可以看出,设置地理参考后,能够将图像呈现在对的位置(左上角坐标和分辨率固定),但无法纠正其几何形变。对高分影像而言,几何校正需要结合提供的rpb文件完成。下一步将使用rpb文件完成几何校正。
【2】.遥感影像的像素坐标转地理坐标(仿射变换)
【3】.GDAL中地理坐标与像素坐标之间的转换 这里是地理坐标转换成了像素坐标
2.转成shp
参考文章:
【1】.Python|使用Python实现tif文件转shpfile格式文件 这里直接给出来了代码,因为分类结果中可能会含有背景类或者我们不需要转成矢量的类,所以这里增加了一个参数来实现删除不需要转成矢量的类别要素。
【2】.遥感影像处理工具集 这里有多种工具:1.coco2mask.py:用于将COCO格式的标注文件转换为PNG格式。2.mask2shape.py:用于将模型推理输出的PNG格式栅格标签转换为.shp矢量格式。3.geojson2mask.py:用于将GeoJSON格式标签转换为.tif栅格格式。4.match.py:用于实现两幅影像的配准。5.split.py:用于对大幅面影像数据进行切片。6.coco_tools:COCO工具合集,用于统计处理COCO格式标注文件。7.prepare_dataset:数据集预处理脚本合集。8.extract_ms_patches.py:从整幅遥感影像中提取多尺度影像块。9.generate_file_lists.py:对数据集生成file list。
【1】.Python|使用Python实现tif文件转shpfile格式文件 这里直接给出来了代码,因为分类结果中可能会含有背景类或者我们不需要转成矢量的类,所以这里增加了一个参数来实现删除不需要转成矢量的类别要素。
【2】.遥感影像处理工具集 这里有多种工具:1.coco2mask.py:用于将COCO格式的标注文件转换为PNG格式。2.mask2shape.py:用于将模型推理输出的PNG格式栅格标签转换为.shp矢量格式。3.geojson2mask.py:用于将GeoJSON格式标签转换为.tif栅格格式。4.match.py:用于实现两幅影像的配准。5.split.py:用于对大幅面影像数据进行切片。6.coco_tools:COCO工具合集,用于统计处理COCO格式标注文件。7.prepare_dataset:数据集预处理脚本合集。8.extract_ms_patches.py:从整幅遥感影像中提取多尺度影像块。9.generate_file_lists.py:对数据集生成file list。
3.masks可视化
下面的代码选自通义,主要就是获取到了mask的所有类别,随机生成了一个颜色列表,然后进行了着色,并绘制了一个图例。
1 | import cv2 |
参考文章:
【1】.【图像分割_数据集】mask可视化(标签文件png全黑怎么办)
【2】.【可视化】图像分割中标签label与预测mask的两种可视化方法 第一种是标签label填充样覆盖,预测mask采用勾线描边的方式,勾线描边利用 c v 2 {cv2} cv2 中的 c v 2. t h r e s h o l d {cv2.threshold} cv2.threshold、 c v 2. f i n d C o n t o u r s {cv2.findContours} cv2.findContours 和 c v 2. d r a w C o n t o u r s {cv2.drawContours} cv2.drawContours 函数。第二种是利用不用的颜色均采用勾线描边的方式, c v 2. d r a w C o n t o u r s {cv2.drawContours} cv2.drawContours 自带 hold on 功能,只需两个循环就搞定啦~
【1】.【图像分割_数据集】mask可视化(标签文件png全黑怎么办)
【2】.【可视化】图像分割中标签label与预测mask的两种可视化方法 第一种是标签label填充样覆盖,预测mask采用勾线描边的方式,勾线描边利用 c v 2 {cv2} cv2 中的 c v 2. t h r e s h o l d {cv2.threshold} cv2.threshold、 c v 2. f i n d C o n t o u r s {cv2.findContours} cv2.findContours 和 c v 2. d r a w C o n t o u r s {cv2.drawContours} cv2.drawContours 函数。第二种是利用不用的颜色均采用勾线描边的方式, c v 2. d r a w C o n t o u r s {cv2.drawContours} cv2.drawContours 自带 hold on 功能,只需两个循环就搞定啦~