Python調用OpenCV算術操作

Python調用OpenCV的很多操作都是類似numpy的操作的,這篇內容包括加法操作、圖像混合、按位運算。

1、加法

圖像的加法可以用cv2.add()來實現,如果相加後的像素值超過255,則取255,也可以用numpy的+操作,但是+操作的話與add函數不同的地方在於numpy的加法是取模操作,也就是說如果相加之後大於255,那麼就會對256取模:

import numpy as np
import cv2
x = np.uint8([250])
y = np.uint8([10])

print(cv2.add(x,y))
print(x+y)

顯示的結果如下:

 

2、圖像混合

圖像混合可以通過cv2.addWeighted來實現:

dst=cv2.addWeighted(img1,0.7,img2,0.3,0)

這個函數的作用就是兩個圖像相加,0.7和0.3分別是第一個圖像和第二個圖像的權值,最後一個值是相加後的偏移量。

3、按位運算

按位操作有與(cv2.bitwise_and)、或(cv2.bitwise_or)、非(cv2.bitwise_not)、異或(cv2.bitwise_xor)

import numpy as np
import cv2
img1 = cv2.imread("D:\images\lena.jpg", flags=1)
img2 = cv2.imread("D:\images\lena.jpg", flags=1)
cv2.bitwise_not(img2, img2)
cv2.imshow('image1',img1)
cv2.imshow('image2',img2)
cv2.waitKey(0)

cv2.bitwise_or(img1, img2, img1)
cv2.imshow('image1',img1)
cv2.waitKey(0)

cv2.bitwise_and(img1, img2, img2)
cv2.imshow('image2',img2)
cv2.waitKey(0)

cv2.bitwise_xor(img1, img2, img2)
cv2.imshow('image2',img2)
cv2.waitKey(0)

cv2.destroyAllWindows()

 

爲誰忙,莫非命。

西風驛馬。落月書燈。

青天蜀道難,

紅葉吳江冷。

兩字功名頻看鏡,

不饒人白髮星星。

釣魚子陵,

蓴季鷹,

笑我飄零。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章