簡體   English   中英

opencv:矩形的Mat構造函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM