1

http://www.huahongquan.com/index.php/blog/x-ly-nh-video-s/11-opencv-topic-02-get-histogram

彼のコードを使用して、画像の 1D ヒストグラムを計算しました。問題は、範囲が 0 ~ 255 に設定されていることですが、値を印刷すると、255 を超えるピクセル値 (つまり、15842、73132) が得られることです。

コードに追加する必要があるものはありますか?

@Georgeこれが値を出力する方法であり、Matを使用します。

for(int i = 0 ; i < 256 ; i++){
cout << "Value"  << i << " = " << histogram.at<float>(i) << endl;        
}
4

1 に答える 1

8

あなたが言う0から255の範囲は、ピクセル値ではなく、ビンの数だと思います。

histogram.at<float>(i)binに分類されるピクセル数であるiため、0から入力画像のサイズ(幅*高さ)までの任意の整数にすることができます。

たとえば、出力Value254 = 4182は、値が254の4182ピクセルがあることを意味します。

于 2013-01-15T13:15:27.273 に答える