4 バンド (赤、緑、青、近赤外線) geotiff (サンプル データ) を読み取り、Python のモジュールを使用してクイックシフト セグメンテーションを実行しようとしています。scikit-image
次のスクリプトを作成しました ( scikit の例に基づいて):
from __future__ import print_function
from osgeo import gdal
import matplotlib.pyplot as plt
import numpy as np
from skimage.segmentation import felzenszwalb, slic, quickshift
from skimage.segmentation import mark_boundaries
from skimage.util import img_as_float
image = r'C:\path\to\my\geotiff.tif'
img = io.imread(image, as_grey=False, plugin="gdal")
segments_quick = quickshift(img, kernel_size=3, max_dist=6, ratio=0.5)
次のエラーが表示されます。
ValueError: the input array must be have a shape == (.., ..,[ ..,] 3)), got (4, 436, 553)
numpy配列を何らかの方法で再形成する必要があると確信しています。マルチバンド geotiff を numpy 配列に適切に読み取り、画像セグメンテーションを実行するにはどうすればよいですか?