日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

使用Python,OpenCV构建透明的叠加层

發(fā)布時(shí)間:2023/11/27 生活经验 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Python,OpenCV构建透明的叠加层 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為了構(gòu)造透明的疊加層,需要準(zhǔn)備兩個(gè)圖像:(1)原始圖片;(2)要 “疊加”在第一個(gè)圖像上的圖像(包含某種級(jí)別的Alpha透明度)。

透明疊加層的用例幾乎無窮無盡,其中倆個(gè)是:

  • 可以將運(yùn)行時(shí)的重要信息直接覆蓋在輸出圖像上,而不是在單獨(dú)的窗口或終端中顯示。使用透明的疊加層可以減少混淆輸出圖像內(nèi)容的需要!
  • 使用Alpha透明度,將兩個(gè)圖像“融合”在一起。

使用cv2.addWeighted應(yīng)用透明疊加層功能

cv2.addWeighted(overlay, alpha, output, 1 - alpha, 0, output)

  • –overlay: 我們要應(yīng)用的疊加層圖像
  • –cv2.addWeighted(overlay, alpha, output, 1 - alpha, 0, output)
  • –alpha: 疊加層的實(shí)際Alpha透明度,alpha越接近1,圖像越不透明;alpha越接近0,疊加層顯示得越透明;
  • –output: 原始圖像
  • –beta: Beta定義為1-alpha 。我們需要定義alpha + beta = 1.0
  • gamma: 伽瑪值-加到加權(quán)和的標(biāo)量。可以將gamma視為應(yīng)用加權(quán)加法后添加到輸出圖像的常數(shù)。將其設(shè)置為零,表示不需要應(yīng)用恒定值的加法運(yùn)算。
  • –output: 最終的結(jié)果,輸出圖像

效果圖:

# USAGE
# python overlay.py# 導(dǎo)入必要的包
from __future__ import print_function
import numpy as np
import cv2
import imutils# 加載圖像
image = cv2.imread("../image/flower4.jpg")
image = imutils.resize(image, width=600)
cv2.imshow("origin", image)
cv2.waitKey(0)# 循環(huán)遍歷 [0,1.0] 的透明度
for alpha in np.arange(0, 1.1, 0.1)[::-1]:# 創(chuàng)建倆個(gè)原始圖的拷貝# 一個(gè)用于構(gòu)建疊加層 一個(gè)用于輸出圖像overlay = image.copy()output = image.copy()# 在左上角 添加文本: PyimageSerach:alpha# 在右下角畫一個(gè)矩形的紅色框cv2.rectangle(overlay, (150, 210), (500, 630),(0, 0, 255), -1)cv2.putText(overlay, "PyImageSearch: alpha={:.2f}".format(alpha),(10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0, 0, 255), 3)# 使用cv2.addWeighted應(yīng)用透明疊加層功能# overlay: 我們要應(yīng)用的疊加層圖像# alpha:   疊加層的實(shí)際Alpha透明度,alpha越接近1,圖像越不透明;alpha越接近0,疊加層顯示得越透明;# output: 原始圖像# beta:   我們提供beta值作為第四個(gè)參數(shù)。 Beta定義為1-alpha 。我們需要定義alpha和beta,以便alpha + beta = 1.0# gamma:  伽瑪值-加到加權(quán)和的標(biāo)量。您可以將gamma視為應(yīng)用加權(quán)加法后添加到輸出圖像的常數(shù)。在這種情況下,我們將其設(shè)置為零,因?yàn)槲覀儾恍枰獞?yīng)用恒定值的加法運(yùn)算。# output: 輸出圖像cv2.addWeighted(overlay, alpha, output, 1 - alpha,0, output)# 展示輸出圖像,alpha,betaprint("alpha={:.2f}, beta={:.2f}".format(alpha, 1 - alpha))cv2.imshow("Output", output)cv2.waitKey(0)cv2.destroyAllWindows()

參考:

  • https://www.pyimagesearch.com/2016/03/07/transparent-overlays-with-opencv/

總結(jié)

以上是生活随笔為你收集整理的使用Python,OpenCV构建透明的叠加层的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。