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

質問編集履歴

4

変更

2019/05/25 15:50

投稿

trafalbad
trafalbad

スコア303

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

3

追記

2019/05/25 15:50

投稿

trafalbad
trafalbad

スコア303

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  これを画像のwidthとheightのarrayを抜き出し、channel(=3)の代わりにlabelを入れた新しいarray(mask)を釣りたいです。
22
22
 
23
- またlabelもただのint型からarray([], dtype=int32)に変換したいです。
23
+ またlabelもただのint型からarray([], dtype=int32)に変換したいです。
24
24
 
25
25
  どのようにしたらいいでしょうか?ご教授お願いします。
26
26
 
@@ -32,6 +32,6 @@
32
32
  # mask(新しいarray)
33
33
  mask.shape
34
34
  >>>(640,480,51)
35
- # array([], shape=(640, 480, 51), dtype=float64)
35
+ # array([], shape=(640, 480, 51), dtype=float64)
36
36
 
37
37
  ```

2

変更

2019/05/25 14:05

投稿

trafalbad
trafalbad

スコア303

title CHANGED
File without changes
body CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  これを画像のwidthとheightのarrayを抜き出し、channel(=3)の代わりにlabelを入れた新しいarray(mask)を釣りたいです。
22
22
 
23
- またlabelもただのint型から以下のようなarray([], dtype=int32)に変換したいです。
23
+ またlabelもただのint型からarray([], dtype=int32)に変換したいです。
24
24
 
25
25
  どのようにしたらいいでしょうか?ご教授お願いします。
26
26
 

1

追記

2019/05/25 14:04

投稿

trafalbad
trafalbad

スコア303

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