過去に「自炊ノイズの自動検知方法って何かないかね?」って記事を書いているわけですが、
やっぱり、縦線ノイズに悩まされるのでちょっとコンセプトモデルを書いてみた。
左側が元画像。右側の白い部分が縦線として検知した部分。
縦線ノイズじゃ無い部分も結構引っかかっているなぁ。
ちなみにある手法で縦線ノイズの可能性のあるピクセルを抽出後、
縦N pixel、その特徴が連続していたら、縦線ノイズと見なしているけど、
このNを40にしてやっとこんな感じ。
縦50pixelにすれば、ほぼ縦線ノイズだけの検知になるけど、
逆に言うと縦50pixel以上の長さが無いと検知できないと言うことにもなる。
もう少し、少ないドット数で検知できて欲しいところ。難しいなぁ。
コンセプトとしては、上記検知部分の局所的特徴を5×5マスで特徴抽出(*)して、
ベクトルの平均が縦に近いかどうかの判断をするとか、もう一ひねりのアイディアはあるけど、
面倒だし、上記画像の計算だけで重いんだよね。C++で書き直そうかしら・・・
(*)外郭局所的輪郭線特徴のアイディアを流用すれば出来そうな気がする。