質問編集履歴

4

変更

2019/05/25 15:50

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- pythonのnumpylistからarrayる方法
1
+ pythonでマスク処理した画像3次元にする方法
test CHANGED
@@ -1,73 +1,57 @@
1
- 下のようにただのラベル(label)と画像(img)がありす。
1
+ 下のように画像をマスク処理しした
2
2
 
3
3
  ```python
4
4
 
5
- # img
5
+ import cv2
6
6
 
7
- Array([[[ 40, 41, 33],
7
+ im=dataset.load_image(1)
8
-
9
- [ 39, 41, 30],
10
-
11
- [ 37, 39, 26],
12
-
13
- ...,
14
-
15
- [139, 140, 135],
16
-
17
- [140, 142, 137],
18
-
19
- [140, 142, 137]]], dtype=uint8)
20
8
 
21
9
 
22
10
 
23
- img.shape
24
-
25
- >>>(640, 480, 3) # (width, height, channel)
11
+ im_gray = 0.299 * im[:, :, 0] + 0.587 * im[:, :, 1] + 0.114 * im[:, :, 2]
26
12
 
27
13
 
28
14
 
29
- # label
15
+ print(im.dtype)
30
16
 
31
- label=51
17
+ print(im_gray.dtype)
32
18
 
33
- label
19
+ # uint8
34
20
 
21
+ # float64
22
+
23
+
24
+
35
- >>>51
25
+ print(im.shape)
26
+
27
+ print(im_gray.shape)
28
+
29
+ # (512, 512, 3)
30
+
31
+ # (512, 512)
36
32
 
37
33
  ```
38
34
 
39
35
 
40
36
 
41
- れを画像のwidthとheightのarray抜き出しchannel(=3)の代わりlabelを入れた新しarray(mask)を釣りたいす。
37
+ のマスク処理した画像に整数ラベル番号加え、3次元する方法はないでしょうか?
42
38
 
39
+ **label番号=51**
43
40
 
44
-
45
- またlabelもただのint型からarray([〜], dtype=int32)に変換したいです。
41
+ だとすると**shape(512, 512)**の画像に加えて**shape=(512, 512, 51)**としたいですご教授お願いします
46
-
47
-
48
-
49
- どのようにしたらいいでしょうか?ご教授お願いします。
50
42
 
51
43
 
52
44
 
53
45
  ```python
54
46
 
55
- width='imgwidthのarray(shapeが640)'
47
+ # こようにしたい
56
48
 
57
- height='imgのheightのarray(shapeが480)'
49
+
58
50
 
59
51
  label=51
60
52
 
53
+ print(add_label_img.shape)
61
54
 
62
-
63
- # mask(新しいarray)
55
+ # (512, 512, 3)
64
-
65
- mask.shape
66
-
67
- >>>(640,480,51)
68
-
69
- # array([〜], shape=(640, 480, 51), dtype=float64)
70
-
71
-
72
56
 
73
57
  ```

3

追記

2019/05/25 15:50

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- またlabelもただのint型からarray([], dtype=int32)に変換したいです。
45
+ またlabelもただのint型からarray([], dtype=int32)に変換したいです。
46
46
 
47
47
 
48
48
 
@@ -66,7 +66,7 @@
66
66
 
67
67
  >>>(640,480,51)
68
68
 
69
- # array([], shape=(640, 480, 51), dtype=float64)
69
+ # array([], shape=(640, 480, 51), dtype=float64)
70
70
 
71
71
 
72
72
 

2

変更

2019/05/25 14:05

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- またlabelもただのint型から以下のようなarray([], dtype=int32)に変換したいです。
45
+ またlabelもただのint型からarray([], dtype=int32)に変換したいです。
46
46
 
47
47
 
48
48
 

1

追記

2019/05/25 14:04

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- listからarrayを作る方法
1
+ pythonのnumpyでlistからarrayを作る方法
test CHANGED
File without changes