質問編集履歴
2
詳細を更に追記,一部修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,15 @@
|
|
6
6
|
a = sp.label(a)
|
7
7
|
obj = sp.find_objects(a[0])[1]
|
8
8
|
|
9
|
+
**追記箇所**
|
10
|
+
そうすると,この場合ですと
|
11
|
+
(slice(317L, 392L, None), slice(544L, 692L, None))
|
12
|
+
という出力が得られます
|
13
|
+
左が画像の縦方向の座標の上下端,右が画像の横方向の座標の左右端に相当します.
|
14
|
+
**追記箇所終わり**
|
15
|
+
|
16
|
+
**追記及び修正箇所**
|
9
|
-
この
|
17
|
+
この出力から文字等を消して数値のみ取り出したいのですが,Python2.7では
|
10
18
|
|
11
19
|
obj = str(obj).translate(None, "slice")
|
12
20
|
obj = str(obj).translate(None, "(")
|
@@ -16,6 +24,12 @@
|
|
16
24
|
obj = str(obj).translate(None, "]")
|
17
25
|
obj = str(obj).translate(None, ",")
|
18
26
|
obj = str(obj).translate(None, "None")
|
27
|
+
obj = obj.split()
|
28
|
+
という処理をし,
|
29
|
+
[317, 392, 544, 692]
|
30
|
+
という出力を得ていました.
|
31
|
+
しかし,最近Python3.6に更新したらエラーを吐きました.
|
32
|
+
**追記及び修正箇所終わり**
|
19
33
|
|
20
34
|
エラーは
|
21
35
|
TypeError: translate() takes exactly one argument (2 given)
|
@@ -31,4 +45,10 @@
|
|
31
45
|
|
32
46
|
となりました.
|
33
47
|
|
34
|
-
どうすればいいでしょうか.
|
48
|
+
どうすればいいでしょうか.
|
49
|
+
|
50
|
+
**更に追記**
|
51
|
+
正規表現を使えばいい,という回答もいただきましたが,
|
52
|
+
今度は
|
53
|
+
TypeError: expected string or bytes-like object
|
54
|
+
というエラーが出ます...
|
1
詳細を記載
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
Python3.xでstr.maketransとstr.translateを使いたいがどうしてもエラーが出る
|
body
CHANGED
@@ -1,13 +1,21 @@
|
|
1
|
+
当方,画像処理とか色々とやっています.
|
2
|
+
二値化画像aを読み込んでラベリングし,オブジェクトを見つけるようにしています.
|
3
|
+
|
4
|
+
例えば1番にラベル付けられている画像をobjとして読み込み,1番にラベル付けられている領域をobjとして取り出します.
|
5
|
+
|
6
|
+
a = sp.label(a)
|
7
|
+
obj = sp.find_objects(a[0])[1]
|
8
|
+
|
1
|
-
Python2.7から3.6へ移行したら,次の書き方をしていたところでエラーが出るようになりました.
|
9
|
+
この領域の数値を取り出したいのですが,Python2.7から3.6へ移行したら,次の書き方をしていたところでエラーが出るようになりました.
|
2
10
|
|
3
11
|
obj = str(obj).translate(None, "slice")
|
4
|
-
|
12
|
+
obj = str(obj).translate(None, "(")
|
5
|
-
|
13
|
+
obj = str(obj).translate(None, ")")
|
6
|
-
|
14
|
+
obj = str(obj).translate(None, "L")
|
7
|
-
|
15
|
+
obj = str(obj).translate(None, "[")
|
8
|
-
|
16
|
+
obj = str(obj).translate(None, "]")
|
9
|
-
|
17
|
+
obj = str(obj).translate(None, ",")
|
10
|
-
|
18
|
+
obj = str(obj).translate(None, "None")
|
11
19
|
|
12
20
|
エラーは
|
13
21
|
TypeError: translate() takes exactly one argument (2 given)
|