Opencv中的addweighted函數

一.addweighted函數作用

addweighted()是OpenCV庫中用于圖像處理的函數,主要功能是將兩個輸入圖像(尺寸和類型相同)按照指定的權重進行加權疊加(圖像融合),并添加一個標量值(如亮度調整)。它常用于實現圖像混合、特效疊加、亮度調節等視覺效果,在計算機視覺應用中廣泛用于創建透明效果、淡入淡出過渡或圖像增強等場景。

1.函數定義

void addWeighted(InputArray src1, double alpha, InputArray src2, double beta, double gamma, OutputArray dst);

參數:
? ?src1: 第一個輸入圖像(數組),必須是相同尺寸和類型(如8位無符號整型)的圖像

? ?alpha: 第一個圖像的權重系數(double類型),決定 src1 在融合中的貢獻程度。例如,α=0.5 表示 ? ? ? ? ? ? ? ? ? ? ? ? ? ? src1 占據50%權重

? ?src2: 第二個輸入圖像(數組),尺寸和通道數必須與 src1 完全匹配

? ?beta: 第二個圖像的權重系數(double類型),決定 src2 在融合中的貢獻程度。例如,
β=0.5表示 src2 占據50%權重

? ?gamma: 標量值(double類型),添加到每個像素上,常用于調整輸出圖像的全局亮度。例如,γ=0 不改變亮度,γ>0 增加亮度。
? ?dst: 輸出圖像(數組),尺寸和類型與輸入相同,存儲融合結果。

函數執行的運算是基于每個像素點的線性加權和。數學公式如下:

dst(i,j)=α×src1(i,j)+β×src2(i,j)+γ? ? ? ? ? ? 簡化公式就是:dst=α?src1+β?src2+γ

src1(i,j)?和?src2(i,j)src2(i,j)?分別表示兩個輸入圖像在位置?(i,j)(i,j)?的像素值。

α?是第一個圖像的權重(浮點數)。

β?是第二個圖像的權重(浮點數)。

γ是添加到每個像素的標量值(通常用于調整整體亮度)。

dst(i,j)dst(i,j)?是輸出圖像在位置?(i,j)(i,j)?的像素值。 公式確保結果通過?saturate_cast<uchar>?處理(防止像素值溢出255),避免無效的像素值

權重和與?γγ的作用:α?和?β?之和通常為1以實現平滑融合(如?α+β=1),但并非絕對要求。γ?可獨立調整亮度,這類似于在融合后加一個常數偏移

2.例子

c++中

#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
? ? // 讀取圖像
? ? Mat img1 = imread("image1.jpg", IMREAD_COLOR);
? ? Mat img2 = imread("image2.jpg", IMREAD_COLOR);
? ? Mat dst; ?// 輸出圖像

? ? // 調用addWeighted:alpha=0.1, beta=0.9, gamma=10(增加少量亮度)
? ? addWeighted(img1, 0.1, img2, 0.9, 10, dst);

? ? // 保存輸出
? ? imwrite("output.jpg", dst);
? ? return 0;
}

二.實戰

在實戰中,我們兩個圖片的融合分為兩個情況,一種是兩張照片大小不一樣,一種是大小一樣

大小一樣的我們就可以只用使用addweighted函數融合,不需要建立感興趣區,大小不一樣的則需要。

int main(int argc, char * argv[])
{//命令行中選入照片Mat src1=imread(argv[1]);//src1原圖像的數據Mat src2=imread(argv[2]); //src2是LOGO圖像的數據//判斷src1長度和src2是否相同,若不同則進行以下操作if(src1.size!=src2.size)//不相同就需要建立感興趣區{Mat image_roi=src1(Rect(30,30,src2.cols,src2.rows));//在原圖像中截取一個可感興趣區域,感興趣區域double alpha =0.4;//alpha第一個圖像的權重值,這里是0.4double beta = 1-alpha;//beta是第二個圖像權重值,1- alpha = 0.6,第二個圖像的清晰度較高int gama =0;//gamma默認為0,>0就是增強光感addWeighted(image_roi,alpha,src2,beta,gama,image_roi);//調用addWeighted對src1和src2進行圖像融合imwrite("addweighted_norsamesize.jpg",src1);}else//大小一樣,是融合之后生成一張新的照片{double alpha = 0.4;//alpha第一個圖像的權重值,這里是0.4double beta = 1 - alpha;//beta是第二個圖像權重值,1- alpha = 0.6,第二個圖像的清晰度較高int gamma = 0; Mat dst;addWeighted(src1, alpha , src2, beta, gamma, dst); //調用addWeighted對src1和src2進行圖像融合imwrite("addweighted_samesize.jpg", dst);}

1.大小不一樣的圖片融合

2.大小一樣的圖片融合

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908861.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908861.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908861.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ 基礎特性深度解析

目錄 引言 一、命名空間&#xff08;namespace&#xff09; C 中的命名空間? 與 C 語言的對比? 二、缺省參數? C 中的缺省參數? 與 C 語言的對比? 三、引用&#xff08;reference&#xff09;? C 中的引用? 與 C 語言的對比? 四、inline&#xff08;內聯函數…

關于面試找工作的總結(四)

不同情況下收到offer后的處理方法 1.不會去的,只是面試練手2.還有疑問,考慮中3.offer/職位不滿足期望的4.已確認,但又收到更好的5.還想挽回之前的offer6.確認,準備入職7.還想拖一下的1.不會去的,只是面試練手 HR您好,非常榮幸收到貴司的offer,非常感謝一直以來您的幫助,…

什么是高考?高考的意義是啥?

能見到這個文章的群體&#xff0c;應該都經歷過高考&#xff0c;突然想起“什么是高考&#xff1f;意義何在&#xff1f;” 一、高考的定義與核心功能 **高考&#xff08;普通高等學校招生全國統一考試&#xff09;**是中國教育體系的核心選拔性考試&#xff0c;旨在為高校選拔…

L1和L2核心區別 !!--part 2

哈嘍&#xff0c;我是 我不是小upper~ 昨天&#xff0c;咱們分享了關于 L1 正則化和 L2 正則化核心區別的精彩內容。今天我來進一步補充和拓展。 首先&#xff0c;咱們先來聊聊 L1 和 L2 正則化&#xff0c;方便剛接觸的同學理解。 L1 正則化&#xff08;Lasso&#xff09;&…

字節推出統一多模態模型 BAGEL,GPT-4o 級的圖像生成能力直接開源了!

字節推出的 BAGEL 是一個開源的統一多模態模型&#xff0c;他們直接開源了GPT-4o級別的圖像生成能力。&#xff08;輕松拿捏“萬物皆可吉卜力”玩法~&#xff09;。可以在任何地方對其進行微調、提煉和部署&#xff0c;它以開放的形式提供與 GPT-4o 和 Gemini 2.0 等專有系統相…

互聯網大廠Java面試:從Spring Cloud到Kafka的技術考察

場景&#xff1a;互聯網大廠Java求職者面試 面試官與謝飛機的對話 面試官&#xff1a;我們先從基礎開始&#xff0c;謝飛機&#xff0c;你能簡單介紹一下Java SE和Java EE的區別嗎&#xff1f; 謝飛機&#xff1a;哦&#xff0c;這個簡單。Java SE是標準版&#xff0c;適合桌…

18-Oracle 23ai JSON二元性顛覆傳統

在當今百花齊放的多模型數據庫時代&#xff0c;開發人員常在關系型與文檔型數據庫間艱難取舍。Oracle Database 23ai推出的JSON關系二元性&#xff08;JSON Relational Duality&#xff09;?? 和二元性視圖&#xff08;Duality Views&#xff09;?? 創新性地統一了兩者優勢…

藍橋杯 冶煉金屬

原題目鏈接 &#x1f527; 冶煉金屬轉換率推測題解 &#x1f4dc; 原題描述 小藍有一個神奇的爐子用于將普通金屬 O O O 冶煉成為一種特殊金屬 X X X。這個爐子有一個屬性叫轉換率 V V V&#xff0c;是一個正整數&#xff0c;表示每 V V V 個普通金屬 O O O 可以冶煉出 …

DreamO字節開源圖像編輯框架

DreamO是由字節跳動聯合北京大學深圳研究生院電子與計算機工程學院共同研發的統一圖像定制生成框架&#xff0c;支持多樣化的編輯任務。 看下介紹的核心功能&#xff0c;還是很厲害的&#xff0c;今天咱們來體驗下。 有正常本地部署版的。 https://github.com/bytedance/Drea…

EM儲能網關ZWS智慧儲能云應用(11) — 一級架構主從架構

ZWS智慧儲能云針對儲能場景下不同的架構體系進行了兼容&#xff0c;可以適配用戶面臨的復雜現場環境&#xff0c;滿足更深層次的管理和維護需求。 簡介 儲能系統包含PCS、BMS、EMS等多個組件&#xff0c;不同儲能架構管理和決策方式也有不同。為了適配用戶面臨的復雜現場環境&…

從0開始一篇文章學習Nginx

Nginx服務 HTTP介紹 ## HTTP協議是Hyper Text Transfer Protocol&#xff08;超文本傳輸協議&#xff09;的縮寫,是用于從萬維網&#xff08;WWW:World Wide Web &#xff09;服務器傳輸超文本到本地瀏覽器的傳送協議。 ## HTTP工作在 TCP/IP協議體系中的TCP協議上&#…

Linux應用開發之網絡套接字編程(實例篇)

服務端與客戶端單連接 服務端代碼 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

Python SQLModel 簡介

銷量過萬TEEIS德國護膝夏天用薄款 優惠券冠生園 百花蜂蜜428g 擠壓瓶純蜂蜜巨奇嚴選 鞋子除臭劑360ml 多芬身體磨砂膏280g健70%-75%酒精消毒棉片濕巾1418cm 80片/袋3袋大包清潔食品用消毒 優惠券AIMORNY52朵紅玫瑰永生香皂花同城配送非鮮花七夕情人節生日禮物送女友 熱賣妙潔棉…

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API實戰:導出框架元素數據到Excel 在結構工程師的日常工作中,經常需要從ETABS模型中提取框架元素信息進行后續分析。手動復制粘貼不僅耗時,還容易出錯。今天我們來用簡單的VBA代碼實現自動化導出。 ?? 我們要實現什么? 一鍵點擊,就能將ETABS中所有框架元素的基…

springboot根據部署服務器生成機器碼+加密生成到期時間授權碼設置項目在服務器的到期時間

生成機器碼 首先需要在后端寫個獲取window或linux的機器碼&#xff0c;根據CPU序列號和硬盤序列號(Windows)&#xff0c;拼接得到 /*** 操作系統的工具類*/ public class OSUtils {/*** 獲取window or linux機器碼** return*/public static String getOSNumber() {Map<Str…

Thumb-2指令集及其與STM32的關系

Thumb-2指令集及其與STM32的關系&#xff1a; 1. Thumb-2指令集是什么&#xff1f; 本質&#xff1a;Thumb-2是ARM公司設計的混合指令集架構&#xff0c;首次在ARMv7架構中引入&#xff08;如Cortex-M3/M4/M7&#xff09;。 核心創新&#xff1a; 融合了傳統 32位ARM指令&…

Haption 力反饋遙操作機器人:6 自由度 + 低延遲響應,解鎖精準遠程操控體驗

Haption自2001年成立以來&#xff0c;始終專注于力反饋設備與定制化解決方案的設計、研發及銷售。作為工業級力反饋技術的先行者&#xff0c;其核心產品以高精度交互與可靠性著稱&#xff0c;已與達索系統、空客、Orano 等行業頭部企業達成深度合作&#xff0c;業務覆蓋工程仿真…

C# ExcelWorksheet 貼圖

C# ExcelWorksheet 貼圖 在C#中,如果你想在Excel工作表中插入圖片(例如,在ExcelWorksheet中貼圖),你可以使用ClosedXML或EPPlus這樣的庫來操作Excel文件。下面我將分別介紹如何使用這兩個庫來實現這一功能。 使用ClosedXML 首先,確保你已經安裝了ClosedXML包。你可以通…

Android15默認授權浮窗權限

我們經常有那種需求&#xff0c;客戶需要定制的apk集成在ROM中&#xff0c;并且默認授予其【顯示在其他應用的上層】權限&#xff0c;也就是我們常說的浮窗權限&#xff0c;那么我們就可以通過以下方法在wms、ams等系統服務的systemReady()方法中調用即可實現預置應用默認授權浮…

莫蘭迪高級灰總結計劃簡約商務通用PPT模版

莫蘭迪高級灰總結計劃簡約商務通用PPT模版&#xff0c;莫蘭迪調色板清新簡約工作匯報PPT模版&#xff0c;莫蘭迪時尚風極簡設計PPT模版&#xff0c;大學生畢業論文答辯PPT模版&#xff0c;莫蘭迪配色總結計劃簡約商務通用PPT模版&#xff0c;莫蘭迪商務匯報PPT模版&#xff0c;…