1. 程式人生 > >Python + OpenCV 學習筆記(五)>>> 畫素運算

Python + OpenCV 學習筆記(五)>>> 畫素運算

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)

結果:
在這裡插入圖片描述