그러면 이제 영상의 OR 연산을 수행하는 함수를 작성해보자. 함수의 이름은 IppOR을 사용하기로 하고, IppEnhance.h 파일에 아래와 같이 함수 선언을 추가하자.
bool IppOR(IppByteImage& img1, IppByteImage& img2, IppByteImage& img3);
IppOR 함수도 세 개의 영상을 인자로 받으며, img1 영상과 img2 영상의 OR 연산 결과를 img3 영상에 저장한다. IppOR 함수의 구현은 소스 7-6에 나타내었다.
bool IppOR(IppByteImage& img1, IppByteImage& img2, IppByteImage& img3) { int w = img1.GetWidth(); int h = img1.GetHeight(); if (w != img2.GetWidth() || h != img2.GetHeight()) return false; img3.CreateImage(w, h); int size = img3.GetSize(); BYTE* p1 = img1.GetPixels(); BYTE* p2 = img2.GetPixels(); BYTE* p3 = img3.GetPixels(); for (int i = 0; i < size; i++) { p3[i] = static_cast<BYTE>(p1[i] | p2[i]); } return true; }