溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python如何實(shí)現(xiàn)opencv中圖片色素的數(shù)值運(yùn)算和邏輯運(yùn)算

發(fā)布時(shí)間:2021-06-24 09:10:56 來(lái)源:億速云 閱讀:193 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹Python如何實(shí)現(xiàn)opencv中圖片色素的數(shù)值運(yùn)算和邏輯運(yùn)算,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

數(shù)值運(yùn)算

代碼:

# -*- coding=GBK -*-
import cv2 as cv
 
 
# 數(shù)值運(yùn)算:加減乘除
def shu_image(src11, src22):
          src = cv.add(src11, src22)  # 加 : 圖像對(duì)應(yīng)像素值相加,> 255 時(shí)取255
          cv.namedWindow("add",0)
          cv.resizeWindow("add", 300, 300)  # 設(shè)置播放窗口長(zhǎng)和寬
          cv.imshow("add", src)
          src = cv.subtract(src11, src22)  # 減 : 圖像對(duì)應(yīng)像素值相減,< 0 時(shí)取0
          cv.namedWindow("subtract", 0)
          cv.resizeWindow("subtract", 300, 300)
          cv.imshow("subtract", src)
          src = cv.multiply(src11, src22)  # 乘 : 圖像對(duì)應(yīng)像素值相乘,> 255 時(shí)取255
          cv.namedWindow("multiply", 0)
          cv.resizeWindow("multiply", 300, 300)
          cv.imshow("multiply", src)
          src = cv.divide(src11, src22)  # 除 : 圖像對(duì)應(yīng)像素值相除,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,:] # 兩張圖片尺寸大小要一樣,不然就需要調(diào)整
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)
 
shu_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()

結(jié)果:

Python如何實(shí)現(xiàn)opencv中圖片色素的數(shù)值運(yùn)算和邏輯運(yùn)算

邏輯運(yùn)算

代碼:

# -*- coding=GBK -*-
import cv2 as cv
 
 
# 邏輯運(yùn)算:與或非的操作
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,:] # 兩張圖片尺寸大小要一樣,不然就需要調(diào)整
cv.namedWindow("src2", 0)
cv.resizeWindow("src2", 300, 300)
cv.imshow("src2", src2)
 
 
luo_image(src1, src2)
cv.waitKey(0)
cv.destroyAllWindows()

結(jié)果(不太具有參考價(jià)值):

Python如何實(shí)現(xiàn)opencv中圖片色素的數(shù)值運(yùn)算和邏輯運(yùn)算

備注:

圖像的邏輯或運(yùn)算就是255-對(duì)應(yīng)通道像素值,也就是“取反”操作(黑白圖就是黑變白,白變黑)

黑白圖和同尺寸任意圖的邏輯或運(yùn)算就是加法運(yùn)算

黑白圖和同尺寸任意圖的邏輯與運(yùn)算就是黑白圖的黑白像素值互換然后與同尺寸任意圖做加法運(yùn)算

而彩色圖之間的邏輯運(yùn)算關(guān)系感覺(jué)太復(fù)雜了,沒(méi)搞懂

以上是“Python如何實(shí)現(xiàn)opencv中圖片色素的數(shù)值運(yùn)算和邏輯運(yùn)算”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI