質問編集履歴
2
進捗の更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
0,255のmask画像から10pixel×10pixelの範囲が255である
|
1
|
+
0,255のmask画像から10pixel×10pixelの範囲が255である正方形をランダムに切り出すプログラムを作成したいと考えています。現在1pixel×1pixelの範囲が255である図形(点)をランダムに切り出す(その点のx座標y座標を求める)ことはできたのですがこれを10pixel×10pixelの範囲に変えるにはどうしたらよいのでしょうか?
|
2
2
|
|
3
3
|
```python
|
4
4
|
|
@@ -17,3 +17,27 @@
|
|
17
17
|
print(y)
|
18
18
|
|
19
19
|
```
|
20
|
+
|
21
|
+
現在考えているのは以下のコードです。このコードでは10pixel×10pixelの範囲が255である正方形の中心の画素のその点のx座標y座標を求めています。しかしこの収縮処理は実行に時間がかかるという欠点があり、もう少し効率の良い方法があれば教えていただきたく思っています。また、コードがミスしていたらその点も教えていただけますでしょうか。
|
22
|
+
|
23
|
+
```python
|
24
|
+
|
25
|
+
mask = cv2.imread('./mask.png',0)
|
26
|
+
|
27
|
+
kernel = np.ones((10,10),np.uint8)
|
28
|
+
|
29
|
+
mask = cv2.erode(mask,kernel,iterations = 1)
|
30
|
+
|
31
|
+
white = np.where(mask == 255)
|
32
|
+
|
33
|
+
white_rand = random.randint(0, len(white[0]))
|
34
|
+
|
35
|
+
x = white[0][white_rand]
|
36
|
+
|
37
|
+
y = white[1][white_rand]
|
38
|
+
|
39
|
+
print(x)
|
40
|
+
|
41
|
+
print(y)
|
42
|
+
|
43
|
+
```
|
1
質問内容の具体化
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,13 +1,19 @@
|
|
1
|
-
0,255のmask画像から255であるピクセルのx座標とy座標(行番号と列番号)をランダムに一つ出力するプログラムを作成したいと考えています。
|
2
|
-
|
3
|
-
|
1
|
+
0,255のmask画像から10pixel×10pixelの範囲が255である図形をランダムに切り出すプログラムを作成したいと考えています。現在1pixel×1pixelの範囲が255である図形(点)をランダムに切り出す(その点のx座標y座標を求める)ことはできたのですがこれを10pixel×10pixelの範囲に変えるにはどうしたらよいのでしょうか?
|
4
2
|
|
5
3
|
```python
|
6
4
|
|
7
5
|
mask = cv2.imread('./mask.png',0)
|
8
6
|
|
9
|
-
|
7
|
+
white = np.where(mask == 255)
|
10
8
|
|
11
|
-
|
9
|
+
white_rand = random.randint(0, len(white[0]))
|
10
|
+
|
11
|
+
x = white[0][white_rand]
|
12
|
+
|
13
|
+
y = white[1][white_rand]
|
14
|
+
|
15
|
+
print(x)
|
16
|
+
|
17
|
+
print(y)
|
12
18
|
|
13
19
|
```
|