copyTo和clone的區別
阿新 • • 發佈:2018-01-28
一個 net 效果 http strong style inline font 實現
OpenCV中mat::copyto( )函數使用方法
使用OpenCV庫進行圖像處理時,經常會用到clone和copyTo函數,這裏對兩個函數進行介紹。
- copyTo函數
實現和clone一樣的功能,但一般多用於掩模貼圖:
1 Mat src = imread(imagepath); 2 Mat src_temp; 3 src.copyTo(src_temp);
另外用途最廣的是它的貼圖功能:
1 src.copyTo(src_temp, mask);
其中mask為一個二值的掩模圖像,如果如果在某個像素點(i, j)其值為1,則把src中對應位置的像素復制到src_temp中,其余為0的位置像素保持不變。
- clone函數
分析源碼可以看出,該函數的實現是copyTo的第一種用法:
1 inline Mat Mat::clone() const 2 { 3 Mat m; 4 copyTo(m); 5 return m; 6 }
多用於復制圖片,比如讀入一張圖像,對其進行處理時,只是想看下效果並不像讓原圖發生變化,這時候可以重新聲明如下:
1 Mat src = imread(imagepath); 2 Mat src_temp = src.clone();
copyTo和clone的區別