[英]opencv: Mat constructor from rect
我正在嘗試從openCV矩陣數據結構生成子圖像,如下所示:
cv::Rect sub_image = cv::rect(10, 10, 200, 200);
cv::Mat submat = original_image(sub_image);
我的問題是,如果我有一些低級的memcpy操作,並且我使用submat.data作為源,它將指向正確的子映像嗎? 我猜不是,因為文檔似乎暗示它們都指向同一數據集。
如果是這樣,我該如何使用該構造
cv::Mat submat = original_image(sub_image);
實際也復制數據?
采用
cv::Mat submat = original_image(sub_image).clone();
這會將原始圖像的數據深層復制到一個新的(可能是連續的)矩陣中。
您可以使用original_image(sub_image).copyTo(submat);
達到相同的效果,但是.clone()通常會導致代碼更短。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.