回答編集履歴
2
検証結果を追記
answer
CHANGED
@@ -3,12 +3,27 @@
|
|
3
3
|
```Python
|
4
4
|
import cv2
|
5
5
|
print(cv2.__version__)
|
6
|
+
|
7
|
+
# 独自に読込
|
8
|
+
def imread(filename, flags=cv2.IMREAD_COLOR, dtype=np.uint8):
|
9
|
+
try:
|
10
|
+
n = np.fromfile(filename, dtype)
|
11
|
+
img = cv2.imdecode(n, flags)
|
12
|
+
return img
|
13
|
+
except Exception as e:
|
14
|
+
print(e)
|
15
|
+
return None
|
16
|
+
|
6
17
|
img = cv2.imread(r'c:\hoge\a.png')
|
7
18
|
print(img) # 正常
|
8
19
|
img = cv2.imread(r'c:\hoge\あ.png')
|
9
20
|
print(img) # None
|
21
|
+
img = imread(r'c:\hoge\あ.png')
|
22
|
+
print(img) # 正常
|
10
23
|
```
|
11
24
|
|
12
25
|
[Python OpenCV の cv2.imread 及び cv2.imwrite で日本語を含むファイルパスを取り扱う際の問題への対処について](https://qiita.com/SKYS/items/cbde3775e2143cad7455)
|
13
|
-
にあるように独自に読み込む処理を書くと、正常に読み込め
|
26
|
+
にあるように独自に読み込む処理を書くと、正常に読み込めました。
|
14
|
-
OpenCV(python側)のバグのような気がします。
|
27
|
+
OpenCV(python側)のバグのような気がします。
|
28
|
+
|
29
|
+
なお、「エラーが3つ」とあるのは、実際にはエラーではなく、エラーの発生場所を段階的に示すメッセージ(`Traceback`)です。
|
1
コード修正
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
print(cv2.__version__)
|
6
6
|
img = cv2.imread(r'c:\hoge\a.png')
|
7
7
|
print(img) # 正常
|
8
|
-
img = cv2.imread(r'c:\hogeあ.png')
|
8
|
+
img = cv2.imread(r'c:\hoge\あ.png')
|
9
9
|
print(img) # None
|
10
10
|
```
|
11
11
|
|