【OpenCV】圖像通道合并與分離,ROI

????????介紹可以實現圖像通道合并與分離的API,這只是一種方式,后續還會介紹其他的合并與分離方法,以及ROI區域截取的方法。相關API:

  • split()

  • merge()

  • Mat對象()

代碼:

#include "iostream"
#include "opencv2/opencv.hpp"using namespace std;
using namespace cv;int main(int argc, char *argv)
{Mat src = imread("C:/Users/Administrator/Desktop/Zooey.png");if (src.empty()){cout << "could not find image file" << endl;return -1;}namedWindow("input", WINDOW_AUTOSIZE);//【通道分離】vector<Mat> mv;split(src, mv);	//通道分離API,這里可以看成將一幅圖像按通道分成了三幅圖像。cout << "the size of mv:" << mv.size() << endl;	//容器mv的大小,為3,因為里面存有3個mat對象。//顯示這三幅圖像imshow("blue channel", mv[0]);imshow("green channel", mv[1]);imshow("red channel", mv[2]);//【通道合并】mv[2] = Scalar(0);	//將紅色通道的值歸0Mat dst;merge(mv, dst);	//通道合并API,三幅圖合并為一幅imshow("red=0", dst);//【ROI(region of interest),即感興趣區域】//用Rect定義一個范圍,后續來截取這個范圍的內容Rect roi;roi.x = 100;roi.y = 100;roi.width = 250;roi.height = 200;//在原圖上畫出范圍rectangle(src, roi, Scalar(255, 255, 0), 1, 8);//截取,獲得一個Mat對象Mat sub = src(roi);//注意:此時截取部分sub跟原圖src中對應位置的內容是同一個東西,即修改sub,src中對應位置的內容也會改變。Mat sub = src(roi).clone();這種方式,就可以將sub和src之間的聯系切斷。//為了驗證上述所說的聯系,對截取范圍取反bitwise_not(sub, sub);//顯示roi圖與原圖imshow("roi", sub);imshow("input", src);waitKey(0);destroyAllWindows();return 0;
}

說下需要注意的點吧:

  • 通道分離、合并可以看成根據通道進行圖片的分離與合并,一幅三通道的圖片,經過拆分,每個通道形成一幅圖片,即形成三幅圖片。合并同理,對應三個通道的三幅圖片合并成一幅圖片。合并后的圖片每個像素有三通道,拆分的三幅圖片,每幅圖的每個像素只有一個通道。代碼中,圖片對應mat對象。

  • ROI實際上就是對我們想要的區域進行截取。注意截取后的mat對象跟原mat對象之間的關系就好,這個注釋中已經說明。

演示:

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

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

相關文章

Hive的小文件處理

針對ORC存儲格式的小文件 --orc合并小文件的特定語法,使用concatenate(連接、使連續)關鍵字 --非分區表 alter table table_name concatenate;--分區表 alter table table_name partition(dtxxx) concatenate;針對TEXTFILE存儲格式的小文件 --將這些小文件進行合并,這里使用d…

MySQL進階之(九)數據庫的設計規范

九、數據庫的設計規范 9.1 范式的概念9.1.1 范式概述9.1.2 鍵和相關屬性 9.2 常見的范式9.2.1 第一范式9.2.2 第二范式9.2.3 第三范式9.2.4 第四范式9.2.5 第五范式&#xff08;域鍵范式&#xff09; 9.3 反范式化9.3.1 概述9.3.2 舉例9.3.3 反范式化新問題9.3.4 通用場景 9.4 …

18 - grace數據處理 - 補充 - 地下水儲量計算過程分解 - 地表水儲量變化Glads水文數據處理

18 - grace數據處理 - 補充 - 地下水儲量計算過程分解 - 地表水儲量變化 0 引言1 Grace陸地水儲量過程整合0 引言 由水量平衡方程可以將地下水儲量的計算過程分解為3個部分,第一部分計算陸地水儲量變化、第二部分計算地表水儲量變化、第三部分計算地下水儲量變化。本篇簡單介紹…

2024.05.28學習記錄

1. 小林coding 計網復習 2.代碼隨想錄刷題. 圖論.和復習數組.鏈表 3.rosebush完成select組件

在Go語言中如何實現變參函數和函數選項模式

在Go語言編程中,我們經常會遇到需要給函數傳遞可選參數的情況。傳統的做法是定義一個結構體,將所有可選參數作為結構體字段,然后在調用函數時創建該結構體的實例并傳遞。這種方式雖然可行,但是當可選參數較多時,創建結構體實例的代碼就會變得冗長???不太直觀。 Go語言的一個…

計算機筆記13(續20個)

210.辦公自動化服務是一種應用軟件實現的功能&#xff0c;不是網絡操作系統提供的服務 211.中文windows中包含的漢字庫文件庫文件是用來解決輸出時轉換為顯示或打印字模 212.漢字系統中的漢字字庫里存放的是漢字的字形碼 213.目前最為嚴重的病毒是木馬病毒 214.網絡安全服務…

景源暢信電商:做抖音運營怎么開始第一步?

在數字化時代的浪潮中&#xff0c;抖音作為一款短視頻平臺迅速崛起&#xff0c;成為許多人表達自我、分享生活的重要舞臺。隨著用戶量的激增&#xff0c;如何做好抖音運營&#xff0c;尤其是邁出成功的第一步&#xff0c;成為了眾多內容創作者和品牌主們關注的焦點。接下來&…

Web應用開發學習筆記————Vue框架

Vue框架快速入門 Vue入門 實現代碼&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>vue入門</title><!--引入vue.js文件--><script src"../js/vue.js"><…

就說說Java初學者求職準備項目的正確方式

當下不少Java初學者也知道求職時項目的重要程度&#xff0c;但在簡歷上寫項目和準備面試項目時&#xff0c;真有可能走彎路&#xff0c;這樣的話&#xff0c;加重學習負擔還是小事&#xff0c;還真有可能導致無法入職。 1 對于在校生和應屆生來說&#xff0c;你去跑通個學習項…

2024年4月—馬克思主義基本原理概論真題及答案解析(上海自考)

目錄 1.選擇題 2.簡答題 3.論述題 1.選擇題 2.簡答題

專業滲透測試 Phpsploit-Framework(PSF)框架軟件小白入門教程(九)

本系列課程&#xff0c;將重點講解Phpsploit-Framework框架軟件的基礎使用&#xff01; 本文章僅提供學習&#xff0c;切勿將其用于不法手段&#xff01; 繼續接上一篇文章內容&#xff0c;講述如何進行Phpsploit-Framework軟件的基礎使用和二次開發。 現在&#xff0c;我們…

STM32——定時器

一、簡介 *定時器可以對輸入的時鐘進行計數&#xff0c;并在計數值達到設定值時觸發中斷 *16位計數器、預分頻器、自動重裝寄存器的時基單元&#xff0c;在72MHz計數時鐘下可以實現最大59.65s的定時 *不僅具備基本的定時中斷功能&#xff0c;而且還包含內外時鐘源選擇、輸入…

基于SpringBoot的本科生考研率統計系統

基于SpringBoot的本科生考研率統計系統 一、開發技術二、功能模塊三、代碼結構四、數據庫設計五、運行截圖六、源碼獲取 一、開發技術 技術&#xff1a;SpringBoot、MyBatis-Plus、Redis、MySQL、Thymeleaf、Html、Vue、Element-ui。 框架&#xff1a;基于開源框架easy-admin開…

景源暢信:抖音小店新手小白如何做好運營?

在數字時代的浪潮中&#xff0c;抖音小店成為了眾多創業者和商家的新寵。但面對激烈的市場競爭和不斷變化的平臺規則&#xff0c;新手小白如何才能在抖音小店的海洋里穩健航行&#xff0c;捕捉到屬于自己的商機呢?接下來的內容將為你揭曉答案。 一、精準定位&#xff0c;明確目…

視頻監控平臺AS-V1000 的場景管理,一鍵查看多畫面視頻的場景配置、調用、管理(一鍵瀏覽多路視頻)

目錄 一、場景管理的定義 二、場景管理的功能和特點 1、功能 &#xff08;1&#xff09;場景配置 &#xff08;2&#xff09;實時監控 &#xff08;3&#xff09;權限管理 2、特點 三、AS-V1000的場景配置和調用 1、場景配置 &#xff08;1&#xff09;實時視頻預覽 …

React@16.x(12)ref 轉發-forwardRef

目錄 1&#xff0c;介紹2&#xff0c;類組件如何使用4&#xff0c;應用場景-高階組件HOC 1&#xff0c;介紹 上篇文章中提到&#xff0c;ref 只能對類組件使用&#xff0c;不能對函數組件使用。 而 ref 轉發可以對函數組件實現類似的功能。 使用舉例&#xff1a; import Re…

為什么選擇CleanMyMac軟件呢?推薦理由

你是否曾經遇到過這樣的問題&#xff1a;電腦運行緩慢&#xff0c;存儲空間不足&#xff0c;不知道如何清理垃圾文件&#xff1f;別擔心&#xff0c;我們為你找到了解決方案——CleanMyMac軟件。這款強大的工具可以幫助你輕松解決這些問題&#xff0c;讓你的電腦煥然一新&#…

深入理解Python中的包與模塊

新書上架~&#x1f447;全國包郵奧~ python實用小工具開發教程http://pythontoolsteach.com/3 歡迎關注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目錄 一、包的概述與功能 代碼案例&#xff1a;包的結構 二、模塊的劃分與組合 劃分模塊的方法…

開源內網穿透神器:中微子代理(neutrino-proxy)實現內網穿刺

&#x1f604; 19年之后由于某些原因斷更了三年&#xff0c;23年重新揚帆起航&#xff0c;推出更多優質博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有堅忍不拔之志 &#x1f390; 個人CSND主頁——Mi…

dubbo復習:(10)使用tripple協議進行通信

一、pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.…