< * 이미지 연산(Image Calculation) * >
◆ 이미지 연산은 하나 또는 둘 이상의 이미지에 대해 수학적인 연산을 수행한다.
◆ Numpy 클래스의 배열 연산과 동일하거나 비슷한 의미와 결과를 갖는다.
◆ 대수적 표현(+, - 등)을 통해 Mat 클래스 간의 연산을 수행할 수 있다.
----< 예제 : Image_Calculation01.py >-------------------------------------------------------------------
import numpy as np
import cv2
src = cv2.imread("pencils.jpg")
number1 = np.ones_like(src) * 127
number2 = np.ones_like(src) * 2
add = cv2.add(src, number1)
sub = cv2.subtract(src, number1)
mul = cv2.multiply(src, number2)
div = cv2.divide(src, number2)
src = np.concatenate((src, src, src, src), axis = 1)
number = np.concatenate((number1, number1, number2, number2), axis = 1)
dst = np.concatenate((add, sub, mul, div), axis = 1)
dst = np.concatenate((src, number, dst), axis = 0)
cv2.imshow("dst", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
--------------------------------------------------------------------------------------------------------
----< 예제 : Image_Calculation02.py >-------------------------------------------------------------------
import numpy as np
import cv2
src = cv2.imread("pencils.jpg")
number = np.ones_like(src) * 127
_max = cv2.max(src, number)
_min = cv2.min(src, number)
_abs = cv2.absdiff(src, number)
compare = cv2.compare(src, number, cv2.CMP_GT)
src = np.concatenate((src, src, src, src), axis = 1)
number = np.concatenate((number, number, number, number), axis = 1)
dst = np.concatenate((_max, _min, _abs, compare), axis = 1)
dst = np.concatenate((src, number, dst), axis = 0)
cv2.imshow("dst", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
-------------------------------------------------------------------------------------