2

openCVを使用するプロジェクトのトラブルシューティングを試みています。どこかに、ヒストグラム均等化があります。これは、入力画像が純粋な黒(または純粋な白または純粋なもの)の場合にクラッシュします。
「式:ベクトル添え字が範囲外です」というデバッグアサーションの失敗のトラブルシューティングを試みましたが、失敗しました。注:このメソッドはEqualizeHistogramを使用せず、ヒストグラムを手動で作成し、レベルごとにピクセルをカウントし、教科書のように平均を実行します。
離散的な色分布(色のスパイクが1つしかない)がある場合にケースを分離できれば、この最適化を実行できず、クラッシュを防ぐことができます。これまでのところ、プログラムがクラッシュする唯一の状況は、画像ヒストグラムに1つの色で1つの値しかなく、それ以外の場所では0である場合です。

画像に含まれる色の数を確認するにはどうすればよいですか?
助けてください !ありがとうございました。
編集:私がしなければならないのは、OpenCVメソッドであるcvEqualizeHistogramで動作しないメソッドを置き換えることだけです。

4

1 に答える 1

0

私の経験では、opencvは十分にピアレビューされておらず、適切にテストされていないため、境界の場合に奇妙な動作をします(GrabCutで問題が発生しました)。しかし、関数ヒストグラムは長い間存在していたので、まだバグがあるのではないかと思います。多分あなたは何か間違ったことをしていますか?非常に小さいサイズの人工マットがある場合にも、エラーを再現できますか?多分1x2?

于 2012-05-17T00:36:53.613 に答える