关于opencv中Mat赋值(浅拷贝,深拷贝)原理
生活随笔
收集整理的這篇文章主要介紹了
关于opencv中Mat赋值(浅拷贝,深拷贝)原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題點:
有兩個墊對象:mat_1和mat_2將mat_2賦值給mat_1(mat_1 = mat_2)后,改變mat_1,mat_2也會被改變(這里的改變是指圖像處理)。
原因:
mat_1 = mat_2是淺拷貝,他們雖然不同的矩陣頭,但卻共享內存空間。以至于改變其中一個,另一個也會被改變。
解決:
mat_1 = mat_2.clone();
其本質是指針之間的賦值
兩個指向int類型變量的指針:整數* p;??int * q; p = q是將兩個q指向INT類型變量的地址賦值給p,p、q指向同一地址,所以改變q,p也會被改變。
總結
以上是生活随笔為你收集整理的关于opencv中Mat赋值(浅拷贝,深拷贝)原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GitKraken - 简单教程
- 下一篇: 接收并解析消息体传参、解析 json 参