![]() |
OpenCV 4.13.0
Open Source Computer Vision
|
OpenCV の関数 cv.add() で2つの画像を加算できる。res = img1 + img2 となる。両方の画像は同じビット深度および型でなければならない。
例えば、以下のサンプルを考える。
OpenCV の関数 cv.subtract() で2つの画像を減算できる。res = img1 - img2 となる。両方の画像は同じビット深度および型でなければならない。RGBA画像で使用する場合、アルファチャンネルも減算される点に注意すること。
例えば、以下のサンプルを考える。
これにはビット単位の AND、OR、NOT、XOR 演算が含まれる。これらは画像の任意の部分を抽出したり、非矩形の ROI を定義して扱ったりする際に非常に役立つ。以下では、画像の特定の領域を変更する方法の例を見る。
画像の上に OpenCV のロゴを配置したい。2つの画像を加算すると色が変わってしまう。ブレンドすると透明な効果になる。しかし、不透明にしたい。もし矩形の領域であれば、前章で行ったように ROI を使える。だが OpenCV のロゴは矩形の形状ではない。そこで、ビット演算で実現できる。