前提・実現したいこと
OpenCVにてcv2.findContours()を用いて輪郭をしようと試みていますがデータによっては肝心の輪郭が切れてしまっています。
そのような場合でもうまく輪郭を抽出する方法はありますでしょうか?
試したこと
cv2.canny()によってエッジ検出を行なった画像に対してcv2.findContours()を行なっています。
cv2.GaussianBlur()のぼかし、cv2.dilate()による膨張などを前処理としてやってみましたがダメでした。
凸包を用いたら良いのかなと思いましたが引数のデータ点をまずどうやって手に入れるかを今度は検討する必要がありますでしょうか?
ご指導ご鞭撻のほどよろしくお願いします。
追記
実際の画像は持ち出せないためお見せすることができないので申し訳ないですがイメージしてはこのような図です。
背景は完全ではありませんが白色に近いです。
水滴のようにマルのような形になることが多いです。
うまくいく画像もあるのですが失敗しているものは外からの強い光の関係で輪郭が消えてしまっているようです。
コントラストを上げたり下げたりしてみましたが残念ながらうまくいきませんでした。
回答3件
あなたの回答
tips
プレビュー