質問するログイン新規登録

質問編集履歴

1

コードのコードの修正を行いました。

2017/06/02 07:01

投稿

mi56
mi56

スコア14

title CHANGED
File without changes
body CHANGED
@@ -3,13 +3,19 @@
3
3
  コードはhttps://github.com/joelgrus/data-science-from-scratch/blob/master/code/clustering.pyのを使用しています。
4
4
  実現したいことは、画像の色にクラスタリングをかけて少ない色で画像を表示させたいです。
5
5
  コード中ではK=5となっているので画像の色を5色で表現したいです。
6
+ 現在は処理を行うと真っ黒の画像が表示させてしまいます。
7
+ mpimg.imreadが画像を配列にしているのはわかったのですがその後、どのような処理が行われているのかも教えていただきたいです。
6
8
 
7
9
  ###発生している問題・エラーメッセージ
8
10
  画像を指定して実行したみたのですがoverflowとなってしまい結果が出力されません。
9
11
  またどのように改良すれば良いのかわからず困っています。
10
12
  ```
13
+ /Users/Desktop/Python19-5.py:35: RuntimeWarning: overflow encountered in ubyte_scalars
14
+ return sum(v_i * w_i for v_i, w_i in zip(v, w))
11
- /anaconda/lib/python3.6/site-packages/ipykernel/__main__.py:17: RuntimeWarning: overflow encountered in ubyte_scalars
15
+ /Users/Desktop/Python19-5.py:18: RuntimeWarning: overflow encountered in ubyte_scalars
16
+ return [v_i - w_i for v_i, w_i in zip(v,w)]
12
- /anaconda/lib/python3.6/site-packages/ipykernel/__main__.py:34: RuntimeWarning: overflow encountered in ubyte_scalars
17
+ /Users/Desktop/Python19-5.py:14: RuntimeWarning: overflow encountered in ubyte_scalars
18
+ return [v_i + w_i for v_i, w_i in zip(v,w)]
13
19
  ```
14
20
 
15
21
  ###該当のソースコード
@@ -106,6 +112,9 @@
106
112
 
107
113
  path_to_png_file = r"画像のある場所"
108
114
  img = mpimg.imread(path_to_png_file)
115
+ top_row = img[0]
116
+ top_left_pixel = top_row[0]
117
+ red, green, blue = top_left_pixel
109
118
  pixels = [pixel for row in img for pixel in row]
110
119
  clusterer = KMeans(k)
111
120
  clusterer.train(pixels) # this might take a while