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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C/C++ OpenCV图像的线性混合

發布時間:2025/3/15 c/c++ 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C/C++ OpenCV图像的线性混合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

線性混合操作是一種電信的二元(兩個輸入)的像素操作,

理論公式:h(x)=(1-a)*f(x)+a*g(x) (0<=a<=1)

通過在范圍0到1之間改變a的值,來對兩幅圖像(f(x)和g(x))或者段視頻產生畫圖重疊效果


計算數組加權和:

addWeighted()函數

void addWeighted(

InputArray src1,double alpha,

InputArray src2,double beta,

double gamma,OutputArry dst,

int dtype=-1

)

第一個參數:輸入的第一個圖像

第二個參數:第一個圖像的權重值

第三個參數:和第一個參數相同尺寸的第二個圖像

第四個參數:第二個圖像的權重

第五個參數:加到權重總和上的變量值

第六個參數:輸出的圖像

第七個參數:輸出的可選深度,默認為-1


注意:圖片尺寸要一樣


namedWindow創建窗口

如:

namedWindow("原圖1");
imshow("原圖1", image1);

他們之間的標準是那兩個地方必須一樣


下面是代碼:

#include <opencv2/opencv.hpp> #include <opencv2/imgproc/imgproc.hpp>using namespace cv;int main() {Mat image1, image2, destimge;image1 = imread("1.jpg");if (!image1.data){printf("第一張圖片讀取失敗!\n");return -1;}namedWindow("原圖1");imshow("原圖1", image1);image2 = imread("2.jpg");if (!image2.data){printf("第二張圖片讀取失敗!\n");return -1;}namedWindow("原圖2");imshow("原圖2", image2);double alpha = 0.5;double beta = 1.0 - alpha;addWeighted(image1, alpha, image2, beta, 0.0, destimge);namedWindow("線性混合效果圖");imshow("線性混合效果圖", destimge);waitKey();return 0; } 文件目錄:


運行結果:


總結

以上是生活随笔為你收集整理的C/C++ OpenCV图像的线性混合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。