- OpenCV Python 教程
- OpenCV Python - 首頁
- OpenCV Python - 概述
- OpenCV Python - 環境配置
- OpenCV Python - 讀取影像
- OpenCV Python - 寫入影像
- OpenCV Python - 使用 Matplotlib
- OpenCV Python - 影像屬性
- OpenCV Python - 位運算
- OpenCV Python - 形狀和文字
- OpenCV Python - 滑鼠事件
- OpenCV Python - 新增軌跡條
- OpenCV Python - 調整大小和旋轉
- OpenCV Python - 影像閾值
- OpenCV Python - 影像濾波
- OpenCV Python - 邊緣檢測
- OpenCV Python - 直方圖
- OpenCV Python - 顏色空間
- OpenCV Python - 影像變換
- OpenCV Python - 影像輪廓
- OpenCV Python - 模板匹配
- OpenCV Python - 影像金字塔
- OpenCV Python - 影像加法
- OpenCV Python - 影像混合
- OpenCV Python - 傅立葉變換
- OpenCV Python - 捕捉影片
- OpenCV Python - 播放影片
- OpenCV Python - 從影片中提取影像
- OpenCV Python - 從影像生成影片
- OpenCV Python - 人臉檢測
- OpenCV Python - 均值漂移/CamShift
- OpenCV Python - 特徵檢測
- OpenCV Python - 特徵匹配
- OpenCV Python - 數字識別
- OpenCV Python 資源
- OpenCV Python - 快速指南
- OpenCV Python - 資源
- OpenCV Python - 討論
OpenCV Python - 影像加法
當使用 `imread()` 函式讀取影像時,得到的影像物件實際上是一個二維或三維矩陣,這取決於影像是灰度影像還是 RGB 影像。
因此,`cv2.add()` 函式將兩個影像矩陣相加並返回另一個影像矩陣。
示例
下面的程式碼讀取兩張影像並執行它們的二元加法:
kalam = cv2.imread('kalam.jpg')
einst = cv2.imread('einstein.jpg')
img = cv2.add(kalam, einst)
cv2.imshow('addition', img)
結果
除了線性二元加法之外,OpenCV 還具有 `addWeighted()` 函式,該函式執行兩個陣列的加權和。該函式的命令如下:
Cv2.addWeighted(src1, alpha, src2, beta, gamma)
引數
`addWeighted()` 函式的引數如下:
- src1 - 第一個輸入陣列。
- alpha - 第一個陣列元素的權重。
- src2 - 第二個輸入陣列,大小和通道數與第一個陣列相同。
- beta - 第二個陣列元素的權重。
- gamma - 加到每個和上的標量。
此函式根據以下等式新增影像:
$$\mathrm{g(x)=(1-\alpha)f_{0}(x)+\alpha f_{1}(x)}$$
上述示例中獲得的影像矩陣用於執行加權和。
透過將 α 從 0 -> 1 變化,可以實現從一張影像到另一張影像的平滑過渡,從而使它們混合在一起。
第一張影像的權重為 0.3,第二張影像的權重為 0.7。gamma 係數取為 0。
`addWeighted()` 函式的命令如下:
img = cv2.addWeighted(kalam, 0.3, einst, 0.7, 0)
可以看出,與二元加法相比,影像加法更平滑。
廣告