網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
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ù)來(lái)探究一下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)行效果圖:
原文鏈接:https://blog.csdn.net/weixin_45525272/article/details/122293098
相關(guān)推薦
- 2021-11-25 使用Oracle命令進(jìn)行數(shù)據(jù)庫(kù)備份與還原_oracle
- 2023-02-01 Python繪制正二十面體圖形示例_python
- 2022-03-14 ffmpeg開發(fā)打印音視頻meta信息
- 2022-03-28 python?Pandas中數(shù)據(jù)的合并與分組聚合_python
- 2023-01-28 GoLang分布式鎖與snowflake雪花算法_Golang
- 2022-12-23 Android入門之SubMenu的實(shí)現(xiàn)詳解_Android
- 2022-08-21 Python?海象運(yùn)算符(?:=)的三種用法_python
- 2022-01-16 npm:使用npm link來(lái)調(diào)試本地的包
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支