1. 程式人生 > >【OpenCV3】cv::Mat類成員函式詳解

【OpenCV3】cv::Mat類成員函式詳解

cv::Mat為OpenCV2和OpenCV3中最重要的類,可以毫不誇張得說,掌握了cv::Mat的操作,就掌握了OpenCV大半,這裡將詳細的介紹下cv::Mat類的成員函式及其使用。

1、clone()

m1 = m0.clone();  //將m0完全拷貝到m1中,同時拷貝m0中的所有資料,且拷貝的矩陣是連續的。

2、copyTo()

m0.copyTo(m1); // 將m0中的內容拷貝到m1中,如果有必要重新分配m1(等價於m1 = m0.clone())。
m0.copyTo(m1, mask); //將m0中,mask所指示的的資料拷貝到m1中。

3、convertTo()
m0.convertTo(m1, type, scale, offset); //將m0中的元素轉換成type類(CV_32F等),作scale尺度的縮放,offset偏移,寫入m1中。

4、setTo()
m0.setTo(s,mask); //將m0中所有的元素的值設為s;如果使用mask,則只設定mask中的非零元素。

5、reshape()
m0.reshape(chan, rows); //改變二維矩陣的的實際形狀,不進行資料拷貝;若chan或rows為0,則表示不作改變。

6、push_back()
m0.push_back(s); //對mx1矩陣進行擴充套件,並在末尾插入單一值s。
m0.push_back(m1); //對mxn矩陣作k行擴充套件,並將m1拷貝到這些行中;m1的大小為kxn。

7、pop_back()
m0.pop_back(n); //從m0尾部移除n行,預設情況下n為1。

8、locateROI()
m0.locateROI(size, offset); //將m0的大小重寫為size,如果m0重寫後變成更大的矩陣,則起始點為cv::Pointoffset點。

9、adjustROI()
m0.adjustROI(t, b, l, r); //在m0的上下左右分別新增t、b、l、r個畫素。

10、total()
m0.total(); //計算所有陣列元素的個數,不考慮通道。

11、isContinuous()
m0.isContinuous(); //如果m0所有的行在記憶體空間中打包時都沒有間隙,則返回true。

12、elementSize()
m0.elementSize(); //返回矩陣m0中每個元素的位元組大小(如3通道float型的矩陣則返回12)。

13、elementSize1()
m0.elementSize1(); //返回矩陣m0中每個次元素的位元組大小(如3通道float型的矩陣則返回4)。

14、type()
m0.type(); //返回m0中元素的有效型別識別符號(如CV_32FC3)。

15、depth()
m0.depth(); //返回m0中單個通道中元素的有效型別識別符號(如CV_32F)。

16、channels()
m0.channels(); //返回m0中元素的通道數目。

17、size()
m0.size(); //以cv::Size物件的形式返回m0的大小。

18、empty()
m0.empty(); //如果陣列中沒有元素(如m0.total == 0或m0.data == NULL)則返回true。

2017.03.28

相關推薦

OpenCV3cv::Mat成員函式

cv::Mat為OpenCV2和OpenCV3中最重要的類,可以毫不誇張得說,掌握了cv::Mat的操作,就掌握了OpenCV大半,這裡將詳細的介紹下cv::Mat類的成員函式及其使用。 1、clon

C++繼承之二——派生成員函式函式隱藏、建構函式與相容覆蓋規則)

  在這一篇文章開始之前,我先解決一個問題。   在上一篇C++繼承詳解之一——初探繼承中,我提到了在派生類中可以定義一個與基類成員函式同名的函式,這樣派生類中的函式就會覆蓋掉基類的成員函式。   在譚浩強的C++程式設計這本書第十一章,351頁最下面有這麼

走馬觀花SQL SERVER 2012 新增函式-01.字串函式CONCAT

SQLSERVER 2012新增了兩個字串函式CONCAT和FORMAT。首先介紹一下CONCAT,CONCAT函式的作用是可以返回多個字串拼接後的結果。簡單示例:select CONCAT('a','b') as R1 /* R1 ---- ab */ select 'a'

Java面試題之Object中方法

之前看到有人分享的面經,面試官先問Object中有什麼方法,然後再要求解釋每一次方法的作用。 先看看Object中有什麼方法 Object類是Java中所有類的基類。位於java.lang包中,一共有13個方法 方法一 Object() 即Object的構造方法 大

SpringSpring MVC原理及配置

進行 return sub sca scrip uil 線程安全 松耦合 必須 1.Spring MVC概述: Spring MVC是Spring提供的一個強大而靈活的web框架。借助於註解,Spring MVC提供了幾乎是POJO的開發模式,使得控制器的開發和測試更加簡

LinuxLinux定時任務Crontab命令

星期幾 ima 默認 定時 最好 表示 時間 path 配置文件 linux 系統則是由 cron (crond) 這個系統服務來控制的。Linux 系統上面原本就有非常多的計劃性工作,因此這個系統服務是默認啟動的。另 外, 由於使用者自己也可以設置計劃任務,所以, Lin

轉載linux下的mount命令

文件的 flag 自動加載 網絡文件系統 解決問題 選項 lock home 多個參數 以下內容來自:http://blog.csdn.net/clozxy/article/details/5299054 http://linux.chinaunix.net/techdo

C語言文件操作

pri void rfi 識別 archive format 隨機 stat 文本文 轉自:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html C語言中沒有輸入輸出語句,所有的輸入輸出功能都用

AndroidAndroid六種布局

spec rec 默認 bottom ron ado 居中 右下角 控制 這篇就對LinearLayout、RelativeLayout、自定義ViewGroup、FrameLayout、TableLayout、AbsoluteLayout六種布局進行詳細的講解。 1

C++拷貝構造函數

簡單的 之間 其他 創建 變量 tac 動態分配空間 data 產生 一. 什麽是拷貝構造函數 首先對於普通類型的對象來說,它們之間的復制是很簡單的,例如: int a = 100; int b = a; 而類對象與普通對象不同,類對象內部結構一般較為復雜,

轉載 c++中static的用法

ostream 並不會 style 轉載 程序員 都是 note 每次 reference 出處: http://blog.csdn.net/majianfei1023/article/details/45290467 C 語言的 static 關鍵字有三種(具體來說是

shellLinux shell for 循環

linux shell編程 for循環 運維 for 循環格式 for i in 條件 do 內容 done 實例循環1到10並打印 #!/bin/bash - for i in `seq 10` do echo $i done 版權所有:arppinging

轉載Maven依賴中的scope

lan 無需 而已 ref targe 周期 包含 配置 com Maven的一個哲學是慣例優於配置(Convention Over Configuration), Maven默認的依賴配置項中,scope的默認值是compile,項目中經常傻傻的分不清,直接默認了。今天梳

java的動態代理機制

bar 同時 @override returns 復制 exce ins com hello 在學習Spring的時候,我們知道Spring主要有兩大思想,一個是IoC,另一個就是AOP,對於IoC,依賴註入就不用多說了,而對於Spring的核心AOP來說,我們不但要知道怎

Pythonhasattr() getattr() setattr() 使用方法

att err value ror 綜合 設置 pytho clas rec 本文轉自 https://www.cnblogs.com/cenyu/p/5713686.html hasattr(object, name)判斷一個對象裏面是否有name屬性或者name方法,返

Oracle 11g Dataguard 參數

異步模式 正常 10g enable ffi sys 過程 tnsnames async 轉自:https://www.jb51.net/article/52269.htm 這篇文章主要介紹了Oracle 11g Dataguard參數詳解,包含了獨立參數、主庫參數、備

TestNGTestNG併發執行用例和範例

前言 TestNG有多種併發方式支援,方法的併發,class級的併發,test級的併發等; 根據實際應用可以靈活的配置和使用,下面分別對幾種併發方法進行說明: 一、方法級併發 方法級併發即method級併發,此種併發方式需要將xml中的suite標籤的parallel屬性設定為m

TestNGTestNG用例執行方法

一、直接在eclipse內部執行 這種方式比較簡單,就是直接右鍵一個test檔案然後選擇以testNG執行,或者選擇xml檔案執行,基本執行方法見帖子:https://mp.csdn.net/mdeditor/83243822# 二、命令列方式 除了直接再eclipse內部執行外

NLPYou May Not Need Attention

廢話: 之前蹭上了BERT的熱度,粉以個位數每天的速度增長,感謝同學們的厚愛!弄得我上週本來打算寫文字分類,寫了兩筆又放下了,畢竟文字分類有很多SOTA模型,而我的研究還不夠深入。。慢慢完善吧,今天看到一篇You may not need attention,寫attention起家的我怎麼能放過,立刻打印出

CString成員函式

CString的建構函式 1、CString( ); CString csStr; 2、CString( const CString& stringSrc ); CString csStr("ABCDEF中文123456"); CString csStr2(csStr);