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

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

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

copyTo()

函數(shù)原型

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

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

參數(shù):

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

簡(jiǎn)單示例

例如:

image_in.copyTo(image_out);

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

又例如:

image_in.copyTo(image_out,mask);

則是不僅把image_in這張圖復(fù)制(copy to)到image_out上,且image_in對(duì)應(yīng)mask中像素值為0的像素點(diǎn)都不會(huì)貼到image_out上。

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

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

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

mask參數(shù)深入探究

例如下面用法代碼:

A.copyTo(B, mask)

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

例如下面具體用法

#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)建一個(gè)感興趣區(qū)域
	Mat imageROI = srcImage(Rect(0, 0, dstImage.cols, dstImage.rows));
	// 加載掩模板
	Mat mask = imread("./test.jpg", 0);
	// 進(jìn)行復(fù)制
	dstImage.copyTo(imageROI, mask);
	// 顯示效果圖
	imshow("out_put", srcImage);
	waitKey(0);
	return 0;
}

運(yùn)行效果圖:

在這里插入圖片描述

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

您可能感興趣的文章:

相關(guān)文章

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

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

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

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

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

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

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

    C++ string和wstring相互轉(zhuǎn)換方式

    這篇文章主要介紹了C++ string和wstring相互轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 最新評(píng)論

    封丘县| 苏尼特右旗| 阿拉善盟| 黎川县| 濮阳市| 洛隆县| 余干县| 勐海县| 灌阳县| 苏尼特右旗| 页游| 方城县| 清河县| 辰溪县| 甘谷县| 通许县| 桂阳县| 佛教| 孟津县| 无极县| 双城市| 沁源县| 黔南| 河北区| 岳普湖县| 武夷山市| 云霄县| 富裕县| 保康县| 乌兰浩特市| 融水| 云梦县| 天水市| 靖远县| 集安市| 澄江县| 周宁县| 城口县| 西城区| 大埔县| 宁河县|