【发布时间】:2019-06-12 18:08:22
【问题描述】:
我有一个四波段光栅图像(这是一个 3D 数组),我想逐波段分割图像。此栅格的形状(转换为 3D 数组后)为(12200, 7200, 4)。
我尝试过使用 scikit-image:
skimage.segmentation.slic(image[, …])
和
skimage.segmentation.quickshift(image[, …])
结果只是一个二维数组(= 1 个波段栅格),形状为 (12200, 7200)。
该命令似乎使图像变平,我在他们的文档中找不到任何关于此事的内容。
这是我尝试过的:
from __future__ import print_function
from osgeo import gdal
import numpy as np
from skimage import io
from skimage.segmentation import felzenszwalb, slic, quickshift
from skimage.segmentation import mark_boundaries
from skimage.util import img_as_float
# The input 4-band TSX image
image = r'raw_img/09K0153_20140501T084638_TSX.tif'
#convert image to Np array
img = io.imread(image, as_gray=False, plugin="gdal")
# Run the quick shift segmentation
segments = quickshift(img, kernel_size=3, convert2lab=False, max_dist=6, ratio=0.5)
如何使用 Scikit-image 而不是 2D 生成 3D 分割结果(即输入:3D 数组,输出:3D 数组)?或者是否有其他库可以用于此目的?
【问题讨论】:
标签: python image-segmentation gdal scikit-image