回答編集履歴

2

検証結果を追記

2017/12/14 02:51

投稿

can110
can110

スコア38268

test CHANGED
@@ -8,6 +8,28 @@
8
8
 
9
9
  print(cv2.__version__)
10
10
 
11
+
12
+
13
+ # 独自に読込
14
+
15
+ def imread(filename, flags=cv2.IMREAD_COLOR, dtype=np.uint8):
16
+
17
+ try:
18
+
19
+ n = np.fromfile(filename, dtype)
20
+
21
+ img = cv2.imdecode(n, flags)
22
+
23
+ return img
24
+
25
+ except Exception as e:
26
+
27
+ print(e)
28
+
29
+ return None
30
+
31
+
32
+
11
33
  img = cv2.imread(r'c:\hoge\a.png')
12
34
 
13
35
  print(img) # 正常
@@ -16,12 +38,20 @@
16
38
 
17
39
  print(img) # None
18
40
 
41
+ img = imread(r'c:\hoge\あ.png')
42
+
43
+ print(img) # 正常
44
+
19
45
  ```
20
46
 
21
47
 
22
48
 
23
49
  [Python OpenCV の cv2.imread 及び cv2.imwrite で日本語を含むファイルパスを取り扱う際の問題への対処について](https://qiita.com/SKYS/items/cbde3775e2143cad7455)
24
50
 
25
- にあるように独自に読み込む処理を書くと、正常に読み込めるようです
51
+ にあるように独自に読み込む処理を書くと、正常に読み込めました
26
52
 
27
53
  OpenCV(python側)のバグのような気がします。
54
+
55
+
56
+
57
+ なお、「エラーが3つ」とあるのは、実際にはエラーではなく、エラーの発生場所を段階的に示すメッセージ(`Traceback`)です。

1

コード修正

2017/12/14 02:51

投稿

can110
can110

スコア38268

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  print(img) # 正常
14
14
 
15
- img = cv2.imread(r'c:\hogeあ.png')
15
+ img = cv2.imread(r'c:\hoge\あ.png')
16
16
 
17
17
  print(img) # None
18
18