CV2のHSVパラメーターは独特で使いにくい!
ロボットでライントレースプログラムを開発する際、CV2を使って画像にマスク処理を適用し、白黒の判定や緑マークの認識を行っています。
しかし、CV2の仕様では色相(Hue)が0〜180、彩度(Saturation)と明度(Value)が0〜255という独特な設計になっており、一般的なHSV表現とは異なります。
この仕様が原因で、しきい値の調整に多くの時間を要し、直感的な編集が困難という問題がありました。
そこで今回、私たちのチームでこの問題を解決するため、画像の任意の箇所をクリックするだけでCV2形式のHSV値を確認できる簡易ツールを開発しました。その開発経緯と機能についてご紹介します。
完成したツールの動作例
実際の動作は以下の動画をご覧ください。
マウスカーソルは映っていませんが、クリックした箇所のピクセル情報と、これまでにクリックしたすべてのピクセルの統計情報がリアルタイムで表示される様子をご確認いただけます。
このツールの主な機能と利点
個別ピクセルのHSV値をリアルタイム表示
「この特定のピクセルの色情報だけを知りたい」という場面で威力を発揮します。
画像上をクリックするだけで、その箇所のH(色相)、S(彩度)、V(明度)の値がCV2形式で即座に表示されます。
クリック履歴の統計値表示(最大・最小・平均)
これが私たちが最も必要としていた機能です。
複数箇所をクリックした際の統計情報により、マスク処理のしきい値範囲を科学的根拠に基づいて設定できるようになり、従来の試行錯誤による調整から大幅に効率化されました。
まとめ
このツールの開発により、従来のしきい値調整作業が大幅に効率化されました。
今回の経験を通じて、自分たちの課題を自分たちで解決するためのツール開発の重要性を実感しました。今後もチーム内で必要となるソフトウェアを自主開発し、開発効率の向上を図っていきたいと思います。
最後までお読みいただき、ありがとうございました。