簡體   English   中英

cv::Mat 的向量

[英]vector of cv::Mat

我的課程包含一個 cv::Mat 圖像向量。

class reconstructed_object
{
    private:
    std::vector<cv::Mat> raw_images;

    public:
    reconstructed_object();
    show_images();
}

在其構造函數中,使用 cv::imread("path") 從我的硬盤驅動器中讀取 3 張圖像並將其推入向量中。

reconstructed_object::reconstructed_object()
{
    raw_images.push_back(cv::imread("path_1").clone());
    raw_images.push_back(cv::imread("path_2").clone());
    raw_images.push_back(cv::imread("path_3").clone());
}

void reconstructed_object::show_images()
{
    for (int i=0; i < raw_images.size(); i++)
    {
        cv::imshow("raw_image", raw_images[i]);
        cv::waitKey(1000);
    }
}

在閱讀了有關深拷貝的所有建議后,我使用了“克隆”方法。 然而,向量填充了“path_3”中圖像的三倍。 如何將不同的圖片保存在矢量中?

嘗試:

cv::imshow("raw_image"+ std::to_string(i), raw_images[i]);

我建議問題是您傳遞圖像的所有窗口都具有相同的名稱。 因此,向量的每個下一個成員只是與之前的圖像重疊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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