vector of 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]);
我建议这个问题是你所有传递图像的窗口都有相同的名称。因此,向量的下一个成员只是重叠之前的图像。
相关文章:
- 将CHW格式的浮点向量转换为cv::Mat
- C++:从GPU内存(cudaMemcpy2D)获取BGR图像(cv::Mat)
- 选择基于另一个垫子的非零像素的cv::Mat的一部分?
- 将 cv::mat 转换为 QImage
- 将 cv::Mat 转换为 std::vector 的通用函数
- 在 QML VideoOutput 中将 cv::mat 显示为 QVideoFrame
- 如何将 cv::Mat & Img 复制到未签名的 char* img?opencv
- 如何将 cv::Mat 转换为 vtkImageData?
- 如何将 vtkImageData 转换为 cv::Mat?
- 如何总结所有cv::Mat元素
- Qt-工作线程崩溃时将cv::Mat转换为QImage
- 在 cv::Mat 中生成 2D 坐标网格
- 将 cv::Mat 转换为无符号的 int 像素
- OpenCV 分段错误(核心转储)在使用 cv::Mat::at 时
- 如何将多个 cv::Mat 从 c++ dll 传递到 opencvsharp Mat c#?
- OpenCV(3.4.1) 错误:断言失败(变暗 <= 2 && step[0] > 0) in cv::Mat::locateROI
- 如何在不复制数据的情况下将 cv::Mat 转换为 2d 标准::矢量
- 如何使用 (*mpORBextractorLeft)(im,cv::Mat(),mvKeys,mDescriptors)
- 从数组创建 Mat 时,'cv::Mat' 和 'int' 类型不兼容
- 如何将 cv::mat 对象从 python 模块传递到 c++ 函数并返回返回的 cv::mat 类型为对象?