最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

深入淺析OpenCV?copyTo()函數(shù)

 更新時間:2022年01月05日 16:34:53   作者:流楚丶格念  
在Mat矩陣類的成員函數(shù)中copyTo(roi , mask)函數(shù)是非常有用的一個函數(shù),尤其是后面的mask可以實現(xiàn)蒙版的功能,下面通過本文給大家介紹下OpenCV copyTo()函數(shù)的相關知識,感興趣的朋友一起看看吧

copyTo()

函數(shù)原型

copyTo這個函數(shù)有兩種定義方式,分別是:

void copyTo( OutputArray m ) const;
void copyTo( OutputArray m, InputArray mask ) const;

參數(shù):

  • 一個參數(shù):一張輸出圖像
  • 兩個參數(shù):一張輸出圖像一個掩碼圖

簡單示例

例如:

image_in.copyTo(image_out);

就是把image_in這張圖復制(copy to)到image_out上。

又例如:

image_in.copyTo(image_out,mask);

則是不僅把image_in這張圖復制(copy to)到image_out上,且image_in對應mask中像素值為0的像素點都不會貼到image_out上。

總結上述兩個函數(shù)用法的作用:

  • 一個參數(shù):表示將image_in矩陣復制到image_out中。
  • 兩個參數(shù):表示得到一個附加掩膜mask的矩陣image_out。

一個參數(shù)的很簡單就是復制圖像,上面讀mask用法探究不深,那么我們繼續(xù)來探究一下mask參數(shù)的用法

mask參數(shù)深入探究

例如下面用法代碼:

A.copyTo(B, mask)

mask作為一個掩模板,如果在某個像素點(i, j)其值為1(只看第一通道,所以mask單通道即可),則把A.at(i, j)處的值直接賦給B.at(i, j),如果其值為0則B.at(i, j)處保留其原始像素值。這樣能夠使得圖標邊緣的顏色和原圖保持一致。

例如下面具體用法

#include <iostream>
#include <math.h>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/highgui/highgui_c.h>  
using namespace cv;
using namespace std;
int main()
{
	Mat srcImage = imread("./test1.jpg");
	Mat dstImage = imread("./test.jpg");
	if (!srcImage.data || !dstImage.data)
	{
		cout << "could not load image !";
		return -1;
	}
	// namedWindow("圖1原始圖",);
	imshow("input_src1", srcImage);
	imshow("input_src2", dstImage);
	// 創(chuàng)建一個感興趣區(qū)域
	Mat imageROI = srcImage(Rect(0, 0, dstImage.cols, dstImage.rows));
	// 加載掩模板
	Mat mask = imread("./test.jpg", 0);
	// 進行復制
	dstImage.copyTo(imageROI, mask);
	// 顯示效果圖
	imshow("out_put", srcImage);
	waitKey(0);
	return 0;
}

運行效果圖:

在這里插入圖片描述

到此這篇關于OpenCV copyTo()函數(shù)的文章就介紹到這了,更多相關OpenCV copyTo()函數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關文章

  • C++結構體初始化的10種寫法總結

    C++結構體初始化的10種寫法總結

    這篇文章主要為大家詳細介紹了10種C++中結構體初始化的寫法,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04
  • 基于Matlab制作一款簡單的龍舟小游戲

    基于Matlab制作一款簡單的龍舟小游戲

    這篇文章主要為大家介紹如何利用Matlab制作一款簡單的龍舟小游戲,文中的示例代碼講解詳細,對我們學習Matlab有一定幫助,需要的可以參考一下
    2022-03-03
  • C語言實現(xiàn)24點問題詳解

    C語言實現(xiàn)24點問題詳解

    24點問題就是在屏幕上輸入1?10范圍內的4個整數(shù)(可以有重復),對它們進行加、減、乘、除四則運算后(可以任意的加括號限定計算的優(yōu)先級),尋找計算結果等于24的表達式。本文將通過C語言實現(xiàn)24點問題的求解,需要的可以參考一下
    2021-12-12
  • Qt使用QSoundEffect類實現(xiàn)播放音效或音樂

    Qt使用QSoundEffect類實現(xiàn)播放音效或音樂

    這篇文章主要為大家詳細介紹了Qt如何使用QSoundEffect類實現(xiàn)播放音效或音樂功能,文中的示例代碼講解詳細,有需要的小伙伴可以參考一下
    2024-12-12
  • c語言float類型小數(shù)點后位數(shù)

    c語言float類型小數(shù)點后位數(shù)

    在本篇文章里小編給大家整理了關于c語言float類型小數(shù)點后面有幾位的相關知識點,需要的朋友們可以學習下。
    2020-02-02
  • C++中最常用的容器用法與排序實例

    C++中最常用的容器用法與排序實例

    C++ 中容器被定義為:在數(shù)據(jù)存儲上,有一種對象類型,它可以持有其它對象或指向其它對像的指針,這種對象類型就叫做容器,這篇文章主要給大家介紹了關于C++中最常用的容器用法與排序的相關資料,需要的朋友可以參考下
    2021-08-08
  • C++實現(xiàn)LeetCode(97.交織相錯的字符串)

    C++實現(xiàn)LeetCode(97.交織相錯的字符串)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(97.交織相錯的字符串),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-07-07
  • C++中二進制數(shù)據(jù)序列化和反序列化詳解

    C++中二進制數(shù)據(jù)序列化和反序列化詳解

    這篇文章主要為大家詳細介紹了C++中二進制數(shù)據(jù)序列化和反序列化的相關知識,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的小伙伴可以了解下
    2023-11-11
  • C語言中的const和free用法詳解

    C語言中的const和free用法詳解

    C語言中的const和C++中的const是有區(qū)別的,而且在使用VS編譯測試的時候,如果是C的話,請一定要建立一個后綴為C的文件,不要是CPP的文件。因為,兩個編譯器會有差別的。下面通過本文給大家分享C語言中的const和free用法,感興趣的朋友一起看看吧
    2017-04-04
  • C++ string和wstring相互轉換方式

    C++ string和wstring相互轉換方式

    這篇文章主要介紹了C++ string和wstring相互轉換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

绩溪县| 景洪市| 顺平县| 石门县| 老河口市| 兴安县| 泸州市| 稻城县| 芷江| 运城市| 馆陶县| 洛川县| 垦利县| 昔阳县| 巫山县| 凉城县| 临洮县| 浦县| 唐山市| 从化市| 绥芬河市| 永宁县| 秦皇岛市| 虞城县| 天全县| 集安市| 安阳县| 灵台县| 双鸭山市| 安化县| 绥江县| 吉木乃县| 雷州市| 清水县| 富裕县| 宿州市| 柘荣县| 澄迈县| 西华县| 樟树市| 句容市|