Argparseを使ったコードを触らずに出力を変える


今回は、前回作ったモザイク自動生成プログラムを少し改良しました。
Cascade検出器って結構な種類あるので、どれを使えば良いのか、あとはdetectMultiScaleの引数はどの値が1番良いのかというところで悩むと思います。

実行環境

openCVの顔検出でパラメータを指定して手っ取り早く検出精度を高める
ArgumentParserの使い方を簡単にまとめた

・MacOS
・python3.6(anaconda)
・opencv
・VSCode

本来欲しかった機能

本当は、Cascadeはどの検出器を使えば良いのか、detectMultiScaleの引数はどんな値を入れれば良いのかという問題はクリアするために、最適解を求めてくれる機能なのかなと思っていたのですが、実は違かったみたいです。

Argparse

argparseというのを使えば、コマンドラインで実行をする際に、ファイル名の隣に引数の値を自分で書き込むことによって、出力を変化させることができるということができます。

デメリット

ただ、これを使うとプログラムを変更しなくて良いというのはメリットなのですが、結構複雑になってしまうので、面倒くさいなと思う人は別にしなくても良いのかなと思います。

まとめ

argparseというものの存在をそもそも知らなかったので、今回知れて良かったなと思いました。
本来は最適化した値が返ってくるというものが欲しかったので、もうちょっと調べてそんなライブラリみたいなのがあったら良いなと考えています。