немного не по теме но в продолжение. помню в CV был такой "обьект" типа картинка (грубо поинтер на 2x массив пикселов) и одна из основных операций перегруженный оператор вычитание. те для того чтобы найти изменения 2 кадров фильма, нужно было вычесть одну картинку из другой. все что 0, там изменений нет, все что не ноль это движение.
я к чему, вроде в записе image2 - image1 таится огромный смысл, но попикселно идет обычное вычитание или точнее image2[x][y] & !(image1[x][y]),
вроде типы не скаляры, и ответ - матрица,
а мне как человеку четко понимается смысл, что грубо я вычитаю одну картинку из другой