質問編集履歴
2
コードを更新しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
from PIL import Image
|
14
14
|
from IPython.display import display
|
15
15
|
|
16
|
-
img = Image.open("drive/My Drive/mnist_dataset/
|
16
|
+
img = Image.open("drive/My Drive/mnist_dataset/box.jpg")
|
17
17
|
img = img.resize((40, 40))
|
18
18
|
|
19
19
|
img = img.convert('L')
|
@@ -24,21 +24,21 @@
|
|
24
24
|
|
25
25
|
np.set_printoptions(threshold=10000)
|
26
26
|
|
27
|
-
imger =
|
27
|
+
imger = np.zeros((40,40))
|
28
28
|
|
29
|
+
# 両方の組み合わせ
|
30
|
+
imger = np.zeros((40,40))
|
31
|
+
|
29
|
-
for i in range(
|
32
|
+
for i in range(39):
|
30
33
|
for j in range(36):
|
31
34
|
if (img[i][j] == 0 and img[i][j+1] == 0 and img[i][j+2] == 0 and img[i][j+3] == 1 and img[i][j+4] == 1 and img[i][j+5] == 1):
|
32
|
-
print('黒黒黒白白白の右端の黒の部分
|
35
|
+
print('黒黒黒白白白の右端の黒の部分の行目(縦)、列目(横)の順。', i, j+2)
|
33
|
-
np.append(imger[i], j+2)
|
34
|
-
|
35
|
-
|
36
|
+
k=i
|
36
|
-
|
37
|
-
|
37
|
+
m=1
|
38
|
-
for j in range(39):
|
39
|
-
|
38
|
+
while (img[k+m][j] == 0 and img[k+m][j+1] == 0 and img[k+m][j+2] == 0 and img[k+m][j+3] == 1 and img[k+m][j+4] == 1 and img[k+m][j+5] == 1):
|
39
|
+
m = m+1
|
40
|
-
print('
|
40
|
+
print('黒黒黒白白白の右端の黒の部分(スタート)、縦連続最大値、縦の連続数が同じ数字の個数、縦の連続個数の順。', j+2, i, m)
|
41
|
-
|
41
|
+
# 両方の組み合わせ
|
42
42
|
```
|
43
43
|
|
44
44
|
こんな感じのコードを作りました、具体的には、画像を取り込んで、リサイズ、2値化し、白が連続したあと黒が連続する、または黒が連続したあと白が連続する部分の行列インデックスを二次元リストに格納し、
|
1
えらーが発生してしまいました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -24,18 +24,21 @@
|
|
24
24
|
|
25
25
|
np.set_printoptions(threshold=10000)
|
26
26
|
|
27
|
-
|
27
|
+
imger = []
|
28
28
|
|
29
29
|
for i in range(40):
|
30
30
|
for j in range(36):
|
31
|
-
if (img[i][j] == 0 and img[i][j+1] == 0 and img[i][j+2]
|
32
|
-
print(j+2)
|
33
|
-
|
31
|
+
if (img[i][j] == 0 and img[i][j+1] == 0 and img[i][j+2] == 0 and img[i][j+3] == 1 and img[i][j+4] == 1 and img[i][j+5] == 1):
|
32
|
+
print('黒黒黒白白白の右端の黒の部分、行目、列目の順。', i, j+2)
|
33
|
+
np.append(imger[i], j+2)
|
34
34
|
|
35
|
+
print(img[i])
|
36
|
+
|
35
37
|
for i in range(39):
|
36
38
|
for j in range(39):
|
37
|
-
if (img[i+1][j]-2 <= img[i][j] <= img[i+1][j]+
|
39
|
+
if (img[i+1][j]-2 <= img[i][j] <= img[i+1][j]+3):
|
40
|
+
print('ある行の黒黒黒白白白の右端の黒の部分が、次の行の黒黒黒白白白とかぶっている部分の、「ある行の」右端の黒の部分、行目、列目の順。', i, j+2)
|
38
|
-
|
41
|
+
img[i][j+1]-img[i][j]
|
39
42
|
```
|
40
43
|
|
41
44
|
こんな感じのコードを作りました、具体的には、画像を取り込んで、リサイズ、2値化し、白が連続したあと黒が連続する、または黒が連続したあと白が連続する部分の行列インデックスを二次元リストに格納し、
|
@@ -47,4 +50,6 @@
|
|
47
50
|
□□□■■■□□□
|
48
51
|
|
49
52
|
こうなっていたら、
|
50
|
-
■の色のついている部分は、隣り合う行で繋がっていると見なせるので、1つの物体と見なす、という事です。
|
53
|
+
■の色のついている部分は、隣り合う行で繋がっていると見なせるので、1つの物体と見なす、という事です。
|
54
|
+
|
55
|
+
すいませんエラーが発覚しました、直し次第再度うpします。
|