gpt4 book ai didi

c++ - 将 Mat 数据复制到另一个 Mat

转载 作者:搜寻专家 更新时间:2023-10-31 00:17:00 39 4
gpt4 key购买 nike

我需要从一个 Mat 复制我的图像数据到另一个 Mat。我的代码如下所示

Mat src; // Source image
Mat res(1024,768,CV_8UC3); //Same width and height as source
uchar *dest=src.data;
res.data=dest;

但我得到的目标图像失真了。是我的编码问题吗?

提前致谢!

最佳答案

But I am getting distorted destination image. Is it my coding problem?

如果宽度和高度相同,则问题似乎出在 channel 数(每个像素的字节数)上。尝试将 CV_8UC3 更改为 CV_8UC1

而且您的代码不会复制数据,它会复制指针。阅读有关 memcpy 的文档.

实际上你应该使用cv::Mat的方法clone :

// returns deep copy of the matrix, i.e. the data is copied
Mat clone() const;

关于c++ - 将 Mat 数据复制到另一个 Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14580548/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com