見出し画像

画像から屋根をエッジ検出プログラム

Python, OpenCVにより画像からエッジ検出するプログラムを作成しました。

画像のアップロード➡グレースケールにより画像の二極化➡画像のノイズ除去➡Cannyフィルタによるエッジ検出により処理を行いました。

エッジ検出
エッジ検出

屋根だけを検出したかったので、さらにエッジ検出したものから、もっとも大きな物体を検出するようにコードを書き変えました。

輪郭の最大値・最小値の設定
エッジ検出されたもっとも大きな物体


すると、画像内の車の輪郭が検出されました。
エッジ検出により屋根を検出したかったのですが、画像内の屋根の輪郭は最大値および最小値では取得できないことが分かりました。画像の処理等を行えば正しく取得できる可能性があります。
また、OpenCVでは検出の精度はそこまで高くないようです。精度の高い検出であればMLモデルの利用など、何か別の方法を探す必要がありそうです。


この記事が気に入ったらサポートをしてみませんか?