飽和計算

上述のサンプルで, という演算子に気付いた人もいるかもしれません. OpenCV では,全てのピクセル処理がこのように行われます. 画像処理の結果が,0 から 255 の範囲にピクセル値を持つ 8 ビット画像である場合,各出力ピクセル値はこの有効範囲内に収まるように切り詰められます:

I(x,y)= \min ( \max (value, 0), 255)

そして,8 ビット符号あり,16 ビット符号あり/符号なしの型についても同様の規則が適用されます.この「飽和」動作(下位ビットを持ってくるだけの通常のC言語の「ラッピング」動作とは異なります)は,単純な cv::add から cv::cvtColor , cv::resize , cv::filter2D までの全ての画像処理関数に実装されています.

これは OpenCV 2.x の新機能というわけではなく,最初から存在していました.新しいバージョンでは,ユーザ自身の関数でもこの動作を簡潔に実装するために,特別な テンプレート演算子が導入されました.

前のトピックへ

高速な要素アクセス

次のトピックへ

エラーハンドリング

このページ