Python + OpenCV 學習筆記(五)>>> 畫素運算
阿新 • • 發佈:2018-12-01
1. 算數運算
注意:兩幅影象的畫素大小要一致
進行影象畫素之間的算術運算,首先要匯入影象,讀取其中資訊:
m1 = cv.imread("/home/pi/Desktop/m1.jpg")
m2 = cv.imread("/home/pi/Desktop/m2.jpg")
a. 加:
def add_demo(m1, m2):
dst = cv.add(m1, m2)
cv.imshow('m1 + m2', dst)
b. 減:
def subtract_demo(m1, m2):
dst = cv.subtract( m1, m2)
cv.imshow('m1 - m2', dst)
c. 乘:
def multiply_demo(m1, m2):
dst = cv.multiply(m1, m2)
cv.imshow('m1 * m2', dst)
d. 除:
def divide_demo(m1, m2):
dst = cv.divide(m1, m2)
cv.imshow('m1 / m2', dst)
e. 求均值:
print cv.mean(m1)
f. 求方差:
print cv. meanStdDev(m1)
2. 邏輯運算
a. 與(取低值):
cv.bitwise_and(m1, m2)
b. 或(取高值):
cv.bitwise_or(m1, m2)
c. 非:
cv.bitwise_not(m1)
d. 異或:
cv.bitwise_xor(m1, m2)
3. 調節對比度和亮度
def contract_brightness_demo(image, c, b): #c 為對比度,b 為亮度
h, w, ch= image.shape #h 為高,w 為寬,ch 為通道數
blank = np.zeros([h, w, ch], image.dtype)
dst = cv.addWeighted(image, c, blank, 1-c, b)
cv.imshow('con-bri-demo', dst)
對比度調節原理:加大畫素間值的差異
亮度調節原理:畫素統一值疊加
cv.imshow('m2', m2)
contract_brightness_demo(m2, 1.5, 30)
結果: