1

manifold learning methodsを使用してRGBイメージをグレーにするために寸法を縮小しようとしています。scikit-learnマニフォールドを使用してRGBからグレーへ

私は

を取得image_array

image_array.shape 

(273280, 3)

試み、

X, color = image_array 

を点検numpyのアレイ(image_array)

import numpy as np 
from sklearn.datasets import load_sample_image 
china = load_sample_image("china.jpg") 

# Convert to floats instead of the default 8 bits integer coding. Dividing by 
# 255 is important so that plt.imshow behaves works well on float data (need to 
# be in the range [0-1] 

china = np.arraychina, dtype=np.float64)/255 

# Load Image and transform to a 2D numpy array. 

w, h, d = original_shape = tuple(china.shape) 
assert d == 3 
image_array = np.reshape(china, (w * h, d)) 

に画像を変換しました

ValueError: too many values to unpack.

これを回避する方法はありますか?

答えて

0

あなたは私が私のDIYの機械学習で(勾配の指向ヒストグラムのバージョンを含む、私は純粋なnumpyのはscikitを使用するよりもはるかに高速だった、https://github.com/paddywwoof/Machine-Learning/blob/master/image_processor.pyを参照してください)でしたものです

china = (china[:,:,:3] * [0.2989, 0.5870, 0.1140]).sum(axis=2) 

+0

を行うことができますありがとうございました! 私は、RGBをグレーに変換するさまざまな方法を検討しています。私はあなたのような加重変換や主成分分析(PCA)など、さまざまな変換アルゴリズムを持つMatlabファイルを持っています。 ここでは、他の次元削減アルゴリズムがそれらの方法と比較してどのように機能するかを試したいと思います。コードを簡単に共有できるように、私はPythonに切り替えたいと思っていました。 もう一度お返事ありがとうございます! – user3065529

+0

OK、共有可能なものがあれば、それを見ることに興味があります。それはまだgithubにありますか?おそらく、あなたは完全にpythonとnumpyでスピードアップしていないでしょう。元のポストのエラーは、numpyの配列image_arrayを作成したことです.273280行3列をデモンストレーションしてから、タプルは2つの要素しかありません。それは合わない!あなたはXと色の変数に何を入れようとしていますか? – paddyg

関連する問題