drilldripper’s blog

ソフトウェア開発と人生をやっていきます

OpenCV 3.2以下ではline()で長い線を描画した際の挙動にバグがある

OpenCVのline()関数は任意の2点を指定して線を描画する関数です。

OpenCV:Drawing Function

この関数は線の太さを指定する引数がありますが、長い線を描画しようとするとOpenCV 3.2以下のline()では線が塗りつぶされません。この挙動はバグとしてIssueに報告されています。

github.com

対策はOpenCVのアップデートです。2017年8月にアップデートされたOpenCV 3.3ではバグフィックスされています。

どうやらこのバグはOpenCV3.1から報告されていたようですが、安易に修正すると描画パフォーマンスに影響を与えるため修正に慎重になっていたようです。

特にRaspberry PiOpenCVを使うユーザが多いことを気にかけており、Raspberry Piの影響力が大きくなっていることが伺えます。

github.com