日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV学习:Mat结构中的数据共享机制

發布時間:2025/7/14 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV学习:Mat结构中的数据共享机制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

   

  使用Mat類,內存管理變得簡單,不再像使用IplImage那樣需要自己申請和釋放內存。

  Mat是一個類,由兩個數據部分組成:矩陣頭(包含矩陣尺寸,存儲方法,存儲地址等信息)和一個指向存儲所有像素值的矩陣的指針。 矩陣頭的尺寸是常數值,但矩陣本身的尺寸會依圖像的不同而不同,通常比矩陣頭的尺寸大數個數量級。 復制矩陣數據往往花費較多時間,因此除非有必要,不要復制大的矩陣。

  為了解決矩陣數據的傳遞,OpenCV使用了引用計數機制。其思路是讓每個Mat對象有自己的矩陣頭信息,但多個Mat對象可以共享同一個矩陣數據,讓矩陣指針指向同一地址而實現這一目的。 很多函數以及很多操作(如函數參數傳值)只復制矩陣頭信息,而不復制矩陣數據。

  

  

  對于圖像img,程序中提供3種關聯方式:

  第一種是賦值運算符:“=”,result1并沒有復制新的數據,而只是指向img,它們指向內存中同一塊數據,img的引用計數只是+1而已。

  第二種是clone,result2是img的一份拷貝。

  第三種是copyTo,result3也是img的一份拷貝。

  類似于C++中的拷貝構造,“=”可以看作是“淺拷貝”,而clone和copyTo可以看作是“深拷貝”。

?

  運行結果:

  

  

轉載于:https://www.cnblogs.com/MakeView660/p/6579477.html

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的OpenCV学习:Mat结构中的数据共享机制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。