小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

python+opencv圖像處理(六)

 pythonjava學(xué)習(xí) 2021-04-06

圖像相加

兩幅圖像是可以加在一起的。
圖像相加是通過對兩幅大小相同的圖像對應(yīng)位置像素的相加運(yùn)算,以產(chǎn)生一幅新的含有兩幅圖像信息的圖像的方法。有時也稱為圖像合成。

1、(+)法

數(shù)學(xué)運(yùn)算中的+可以用于圖像相加。
但因?yàn)閳D像的像素值有固定的大小,最大為255,所以當(dāng)用+號時,如果相加的值>255,它采取的是模運(yùn)算。
即:
f(x,y)=f(x,y)%255

代碼如下:

import cv2 as cv

img1=cv.imread("E:/image/add1.jpg")

img2=cv.imread("E:/image/add5.jpg")

result=img1+img2#加法運(yùn)算

cv.imshow("1",img1)

cv.imshow("2",img2)

cv.imshow("add",result)

2、add()函數(shù)

從上圖中看出,相加的結(jié)果并不是很理想,所以推薦用opencv的函數(shù)add(),有些地方也叫它圖像合成或圖像融合。

它與+的區(qū)別在于,當(dāng)相加的值>255時,它是截?cái)嗔?,即?/span>

f(x,y)=f(x,y)-255

代碼如下

import cv2 as cv

img1=cv.imread("E:/image/add1.jpg")

img2=cv.imread("E:/image/add4.jpg")

result=cv.add(img1,img2)

cv.imshow("1",img1)

cv.imshow("2",img2)

cv.imshow("add",result)

3、addWeighted()權(quán)重相加

可以給兩幅圖像不同的權(quán)重來進(jìn)行相加。

代碼如下:

import cv2 as cv

img1=cv.imread("E:/image/add1.jpg")

img2=cv.imread("E:/image/add5.jpg")

result=cv.addWeighted(img1,0.7,img2,0.3,0)

cv.imshow("1",img1)

cv.imshow("2",img2)

cv.imshow("add",result)

若權(quán)重不同,會有不同的結(jié)果,如下圖是不同權(quán)重的結(jié)果:

4、兩幅圖像的平滑過渡:

先用10秒的視頻看一下運(yùn)行結(jié)果:

其代碼如下:

import cv2

import numpy as np

def nothing(x):

    pass

img1 = cv2.imread('E:/image/add1.jpg')

img2 = cv2.imread('E:/image/add5.jpg')

img = np.zeros((500,500,3), np.uint8)

cv2.namedWindow('image')#創(chuàng)建一個窗口,名為image

cv2.createTrackbar('Trackbar','image',0,100,nothing)#軌道欄名稱,窗體名,參數(shù)默認(rèn)值,最大值,回調(diào)函數(shù)

while(True):

    cv2.imshow('image',img)

    if cv2.waitKey(1) & 0xFF==ord('q'):

        break

    #q鍵退出    

    r = cv2.getTrackbarPos('Trackbar','image')#獲取滾動條的值

    r=float(r)/100.0

    img=cv2.addWeighted(img1,r,img2,1.0-r,0)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多