この記事、何?
手書き文字識別を試してみたくなった。
その前に学習データを画像処理するため、OpenCVで大量のファイルから画像の切り出しなどなどをやろうかと。
で、まずは学習データその他のファイルリストを作ろうと。
方針
pathlibのPathが使えるらしい。
どこぞに上がっていたのを流用して、引数もらって拡張子でフィルタしてリストファイルを出力する感じで。
出来上がり
# python 34-01.py (targetfolder) (outputfile) (option: fileter extension)
import sys
args = sys.argv
if len(args) == 3:
extension = '*'
elif len(args) == 4:
extension = args[3]
else:
exit()
target = args[1]
output = args[2]
from pathlib import Path
P = Path(target)
ret = list(P.glob('**/*'))
f = open(output, 'w')
for item in list(P.glob('**/*.' + extension + '')):
f.write(str(item) + '\n')
(実行)
>python 34-01.py C:\projects\qiita_data png
>python 34-01.py C:\projects\qiita_data png.txt png
>python 34-01.py C:\projects\qiita_data ini.txt ini
>python 34-01.py C:\projects\qiita_data all.txt
(出力結果(一部))
C:\projects\qiita_data\20190303\drop\Screenshot_20190228-211759.png
C:\projects\qiita_data\20190303\drop\Screenshot_20190303-010209.png
C:\projects\qiita_data\20190303\etc\Screenshot_20190228-202100.png
...
感想
やっちまった・・・
しばらく前に同じ方向性の別実装を作ってたことに気づいた。
これ
■Python手遊び(ファイルリスト/Hash演算)
https://qiita.com/siinai/items/233f37a97a13bba7f73c
まあ・・・いいや。せっかく作ったし。
将来、環境依存でどちらか機能しなくなったとしてもどっちかが動くでしょう・・・ない気がするけど。