數值運算
代碼:
# -*- coding=GBK -*-
import cv2 as cv
# 數值運算:加減乘除
def shu_image(src11, src22):
src = cv.add(src11, src22) # 加 : 圖像對應像素值相加,> 255 時取255
cv.namedWindow("add",0)
cv.resizeWindow("add", 300, 300) # 設置播放窗口長和寬
cv.imshow("add", src)
src = cv.subtract(src11, src22) # 減 : 圖像對應像素值相減, 0 時取0
cv.namedWindow("subtract", 0)
cv.resizeWindow("subtract", 300, 300)
cv.imshow("subtract", src)
src = cv.multiply(src11, src22) # 乘 : 圖像對應像素值相乘,> 255 時取255
cv.namedWindow("multiply", 0)
cv.resizeWindow("multiply", 300, 300)
cv.imshow("multiply", src)
src = cv.divide(src11, src22) # 除 : 圖像對應像素值相除,a( > 0) / 0 = 255
cv.namedWindow("divide", 0)
cv.resizeWindow("divide", 300, 300)
cv.imshow("divide", src)
src1 = cv.imread("jueduisiwang.bmp")
src2 = cv.imread("fuchoutianshi.bmp")
cv.namedWindow("src1", 0)
cv.resizeWindow("src1", 300, 300)
cv.imshow("src1", src1)
src2 = src2[:,:30,:] # 兩張圖片尺寸大小要一樣,不然就需要調整
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)
shu_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()
結果:

邏輯運算
代碼:
# -*- coding=GBK -*-
import cv2 as cv
# 邏輯運算:與或非的操作
def luo_image(src1, src2):
src = cv.bitwise_and(src1, src2)
cv.namedWindow("AND", 0)
cv.resizeWindow("AND", 300, 300)
cv.imshow("AND", src)
src = cv.bitwise_or(src1, src2)
cv.namedWindow("OR", 0)
cv.resizeWindow("OR", 300, 300)
cv.imshow("OR", src)
src = cv.bitwise_not(src1)
cv.namedWindow("NOR", 0)
cv.resizeWindow("NOR", 300, 300)
cv.imshow("NOR", src)
src = cv.bitwise_xor(src1, src2)
cv.namedWindow("XOR", 0)
cv.resizeWindow("XOR", 300, 300)
cv.imshow("XOR", src)
src1 = cv.imread("jueduisiwang.bmp")
src2 = cv.imread("fuchoutianshi.bmp")
cv.namedWindow("src1", 0)
cv.resizeWindow("src1", 300, 300)
cv.imshow("src1", src1)
src2 = src2[:,:30,:] # 兩張圖片尺寸大小要一樣,不然就需要調整
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)
luo_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()
結果(不太具有參考價值):

備注:
圖像的邏輯或運算就是255-對應通道像素值,也就是“取反”操作(黑白圖就是黑變白,白變黑)
黑白圖和同尺寸任意圖的邏輯或運算就是加法運算
黑白圖和同尺寸任意圖的邏輯與運算就是黑白圖的黑白像素值互換然后與同尺寸任意圖做加法運算
而彩色圖之間的邏輯運算關系感覺太復雜了,沒搞懂 : (
到此這篇關于淺談Python實現opencv之圖片色素的數值運算和邏輯運算的文章就介紹到這了,更多相關圖片色素的數值運算和邏輯運算內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python-OpenCV教程之圖像的位運算詳解
- Python OpenCV處理圖像之濾鏡和圖像運算
- Python-openCV開運算實例
- 詳解python opencv圖像混合算術運算