国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

詳解cv2.addWeighted函數(shù)【使用 OpenCV 添加(混合)兩個(gè)圖像-Python版本】

這篇具有很好參考價(jià)值的文章主要介紹了詳解cv2.addWeighted函數(shù)【使用 OpenCV 添加(混合)兩個(gè)圖像-Python版本】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

簡(jiǎn)介

有的時(shí)候我們需要將兩張圖片在alpha通道進(jìn)行混合,比如深度學(xué)習(xí)數(shù)據(jù)集增強(qiáng)方式MixUp。OpenCV的addWeighted提供了相關(guān)操作,此篇博客將詳細(xì)介紹這個(gè)函數(shù),并給出代碼示例。????

函數(shù)原型

o u t p u t I m g = s a t u r a t e ( α ? i n p u t I m g 1 + β ? i n p u t I m g 2 + γ ) \rm outputImg=saturate( \alpha*inputImg1+ \beta*inputImg2 + \gamma) outputImg=saturate(α?inputImg1+β?inputImg2+γ)

cv.addWeighted(	src1, alpha, src2, beta, gamma[, dst[, dtype]]	) -> dst
參數(shù) 說明
src1 圖片1
alpha 圖片1的權(quán)重
src2 圖片2
beta 圖片2的權(quán)重
gamma 添加到每個(gè)總和的標(biāo)量。一般為0
dst 輸出圖片,Python版本不需要指定??
dtype 輸出數(shù)組的可選深度,默認(rèn)即可

代碼示例

詳解cv2.addWeighted函數(shù)【使用 OpenCV 添加(混合)兩個(gè)圖像-Python版本】,計(jì)算機(jī)視覺,OpenCV,Python,opencv,python,人工智能

import cv2
import matplotlib.pyplot as plt

# 加載兩張圖片
img1 = cv2.imread(filename="Lenna.png")
img2 = cv2.imread(filename="horses.jpg")

# 將兩張圖片都調(diào)整到640*640
shape1 = img1.shape  # HWC
shape2 = img2.shape  # HWC
max1 = max(shape1[0], shape1[1])
max2 = max(shape2[0], shape2[1])
img1 = cv2.copyMakeBorder(
    src=img1,
    top=int((max1 - shape1[0])/2),
    bottom=int((max1 - shape1[0])/2),
    left=int((max1 - shape1[1])/2),
    right=int((max1 - shape1[1])/2),
    borderType=cv2.BORDER_REFLECT101,
)
img1 = cv2.resize(src=img1, dsize=(640, 640), interpolation=cv2.INTER_LINEAR)
img2 = cv2.copyMakeBorder(
    src=img2,
    top=int((max2 - shape2[0])/2),
    bottom=int((max2 - shape2[0])/2),
    left=int((max2 - shape2[1])/2),
    right=int((max2 - shape2[1])/2),
    borderType=cv2.BORDER_REFLECT101,
)
img2 = cv2.resize(src=img2, dsize=(640, 640), interpolation=cv2.INTER_LINEAR)

# 按照比例將兩張圖片進(jìn)行混合
alpha = 0.5
beta = 1.0 - alpha
img_blending = cv2.addWeighted(src1=img1, alpha=alpha, src2=img2, beta=beta, gamma=.0)

# 繪制圖片
fig = plt.figure(figsize=(9, 3))
fig.suptitle(t="Blend two images")

ax1 = fig.add_subplot(1, 3, 1)
ax2 = fig.add_subplot(1, 3, 2)
ax3 = fig.add_subplot(1, 3, 3)

ax1.set_title(label="image1")
ax1.spines["top"].set_visible(b=False)
ax1.spines["bottom"].set_visible(b=False)
ax1.spines["left"].set_visible(b=False)
ax1.spines["right"].set_visible(b=False)
ax1.axes.xaxis.set_visible(b=False)
ax1.axes.yaxis.set_visible(b=False)
ax1.imshow(X=cv2.cvtColor(src=img1, code=cv2.COLOR_BGR2RGB))

ax2.set_title(label="image2")
ax2.spines["top"].set_visible(b=False)
ax2.spines["bottom"].set_visible(b=False)
ax2.spines["left"].set_visible(b=False)
ax2.spines["right"].set_visible(b=False)
ax2.axes.xaxis.set_visible(b=False)
ax2.axes.yaxis.set_visible(b=False)
ax2.imshow(X=cv2.cvtColor(src=img2, code=cv2.COLOR_BGR2RGB))

ax3.set_title(label="blending image")
ax3.spines["top"].set_visible(b=False)
ax3.spines["bottom"].set_visible(b=False)
ax3.spines["left"].set_visible(b=False)
ax3.spines["right"].set_visible(b=False)
ax3.axes.xaxis.set_visible(b=False)
ax3.axes.yaxis.set_visible(b=False)
ax3.imshow(X=cv2.cvtColor(src=img_blending, code=cv2.COLOR_BGR2RGB))

plt.show()



參考資料

  1. Computer Vision: Algorithms and Applications
  2. OpenCV文檔:Adding (blending) two images using OpenCV??
  3. OpenCV文檔:addWeighted() ??

收集整理和創(chuàng)作不易, 若有幫助??, 請(qǐng)幫忙點(diǎn)贊???收藏??, 謝謝!??????文章來源地址http://www.zghlxwxcb.cn/news/detail-737923.html

到了這里,關(guān)于詳解cv2.addWeighted函數(shù)【使用 OpenCV 添加(混合)兩個(gè)圖像-Python版本】的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • OpenCV腐蝕函數(shù):cv2.erode()使用

    OpenCV腐蝕函數(shù):cv2.erode()使用

    void cv::erode ( InputArray src , OutputArray dst , InputArray kernel , Point anchor ?=? Point(-1,-1) , int? iterations ?=? 1 , int? borderType ?=? BORDER_CONSTANT , const?Scalar?? borderValue ?=? morphologyDefaultBorderValue() ? ) Python: dst = cv.erode( src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]] ) 通過使用特定

    2024年02月14日
    瀏覽(19)
  • 使用OpenCV的cv2.imread函數(shù)讀取圖像介紹

    在計(jì)算機(jī)視覺和圖像處理應(yīng)用中,讀取圖像是一個(gè)常見的操作。OpenCV是一個(gè)廣泛使用的圖像處理庫,它提供了 cv2.imread 函數(shù),用于讀取圖像。本文將詳細(xì)介紹如何使用 cv2.imread 函數(shù),包括參數(shù)和用法。 首先,確保你已經(jīng)安裝了OpenCV庫。你可以使用以下命令來安裝OpenCV(如果尚

    2024年02月05日
    瀏覽(35)
  • 【Python】【Opencv】形態(tài)學(xué)操作cv2.morphologyEx()函數(shù)詳解和示例,實(shí)現(xiàn)腐蝕、膨脹、閉和開等運(yùn)算

    【Python】【Opencv】形態(tài)學(xué)操作cv2.morphologyEx()函數(shù)詳解和示例,實(shí)現(xiàn)腐蝕、膨脹、閉和開等運(yùn)算

    常用的形態(tài)學(xué)操作如腐蝕、膨脹、開運(yùn)算、閉運(yùn)算等,可以幫助我們解決一下圖像不連接或消除圖像中某些不想要的連接,對(duì)于圖像處理使用方便,效果明顯。本文通過示例對(duì)這些功能和效果進(jìn)行演示,以幫助大家理解和使用。 cv2.morphologyEx 是 OpenCV 中的一個(gè)函數(shù),用于執(zhí)行

    2024年02月22日
    瀏覽(93)
  • python-opencv第六期:addWeighted函數(shù)詳解

    python-opencv第六期:addWeighted函數(shù)詳解

    概要: 眾 嗦粥汁 所周知,在如今計(jì)算機(jī)視覺( Computer Version ?short for CV)是人工智能與機(jī)器人技術(shù)發(fā)展的一個(gè)重大研究方向,而 opencv 作為一個(gè)專門為計(jì)算機(jī)視覺編程提供技術(shù)與函數(shù)支持的第三方庫,自然是一個(gè)需要重點(diǎn)研究的內(nèi)容。 ? ? ? ? ? ? 本期所要介紹的函數(shù)是o

    2023年04月09日
    瀏覽(23)
  • 【OpenCV常用函數(shù):顏色空間轉(zhuǎn)換、閾值化】cv2.cvtColor()+cv2.threshold()

    對(duì)圖像進(jìn)行顏色空間的轉(zhuǎn)換 對(duì)圖像進(jìn)行閾值化/二值化

    2024年02月13日
    瀏覽(92)
  • 【OpenCV常用函數(shù):視頻捕獲函數(shù)】cv2.VideoCapture

    輸入視頻路徑,創(chuàng)建VideoCapture的對(duì)象 該類的函數(shù)有: 1)video.isOpened: 檢查視頻捕獲是否成功 2)video.read(): 讀取視頻幀,返回ret, frame,ret為bool類型,表示是否成功 3)video.release(): 關(guān)閉視頻 4)video.get(prop): 獲取video的屬性 如果要讀取視頻的每一幀,然后進(jìn)行相關(guān)的處理時(shí),可

    2024年02月13日
    瀏覽(100)
  • 【OpenCV常用函數(shù):輪廓檢測(cè)+外接矩形檢測(cè)】cv2.findContours()+cv2.boundingRect()

    【OpenCV常用函數(shù):輪廓檢測(cè)+外接矩形檢測(cè)】cv2.findContours()+cv2.boundingRect()

    對(duì)具有黑色背景的二值圖像尋找白色區(qū)域的輪廓,因此一般都會(huì)先經(jīng)過cvtColor()灰度化和threshold()二值化后的圖像作為輸入。 例如,如下的輪廓檢測(cè)出的結(jié)果contours和hierarchy。 根據(jù)輪廓點(diǎn)檢測(cè)對(duì)應(yīng)輪廓的外接矩形

    2024年02月13日
    瀏覽(90)
  • 深入解析OpenCV中的cv2.waitKey()函數(shù)

    OpenCV 是一個(gè)開源計(jì)算機(jī)視覺庫,廣泛用于圖像處理和計(jì)算機(jī)視覺任務(wù)。在圖像處理中,有時(shí)候我們需要在圖像顯示時(shí)等待用戶的交互,例如等待用戶按下一個(gè)鍵來關(guān)閉圖像窗口或執(zhí)行其他操作。這時(shí)就可以使用 waitKey() 函數(shù)。 waitKey() 函數(shù)通常與OpenCV的圖像顯示功能一起使用

    2024年02月04日
    瀏覽(26)
  • 【OpenCV】透視變換——cv2.getPerspectiveTransform()與cv2.warpPerspective()詳解

    【OpenCV】透視變換——cv2.getPerspectiveTransform()與cv2.warpPerspective()詳解

    目錄 什么是透視變換? 函數(shù)解析 cv2.getPerspectiveTransform() dst = warpPerspective() 代碼實(shí)現(xiàn) 透視變換(Perspective Transformation)是指利用透視中心、像點(diǎn)、目標(biāo)點(diǎn)三點(diǎn)共線的條件,按透視旋轉(zhuǎn)定律使承影面(透視面)繞跡線(透視軸)旋轉(zhuǎn)某一角度,破壞原有的投影光線束,仍能保持

    2024年02月05日
    瀏覽(131)
  • opencv導(dǎo)入圖片時(shí),cv2后面無法添加imread的問題的解決方法

    opencv導(dǎo)入圖片時(shí),cv2后面無法添加imread的問題的解決方法

    當(dāng)使用cv2導(dǎo)入圖片的時(shí)候,發(fā)現(xiàn)cv2.imread()被標(biāo)明高亮,無法使用imread,resize等方法 ?針對(duì)這個(gè)問題,解決方法如下: 首先在我們的Python安裝路徑下面找到cv2(安裝anaconda的也是如此,找到相應(yīng)路徑), ? ?在這里可以看到一個(gè).pyd文件,將這個(gè)文件直接復(fù)制到site-packages路徑

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包