Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将Mat数据复制到另一个Mat_C++_Opencv - Fatal编程技术网

C++ 将Mat数据复制到另一个Mat

C++ 将Mat数据复制到另一个Mat,c++,opencv,C++,Opencv,我需要将图像数据从一个垫子复制到另一个垫子。我的代码如下所示 Mat src; // Source image Mat res(1024,768,CV_8UC3); //Same width and height as source uchar *dest=src.data; res.data=dest; 但我的目的地形象被扭曲了。是我的编码问题吗 提前谢谢 但我的目的地形象被扭曲了。是我的编码问题吗 如果宽度和高度相同,则问题在于通道数(每个像素的字节数)。尝试将CV_8UC3更改为CV_8

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

Mat src; // Source image
Mat res(1024,768,CV_8UC3); //Same width and height as source
uchar *dest=src.data;
res.data=dest;
但我的目的地形象被扭曲了。是我的编码问题吗

提前谢谢

但我的目的地形象被扭曲了。是我的编码问题吗

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

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

实际上,您应该使用以下方法的
clone


那么上面的代码是错误的?事实上,我需要将Mat.data复制到指针。您好,谢谢您的帮助。事实上,我的垫子的宽度和高度是相反的,这就是为什么我得到了扭曲的图像,无论我怎么解决它。嗨,我还有一个疑问。是否可以将Mat指针指定给另一个指针。像uchar*p=Mat B一样,您可以将任何指针指定给任何指针。指针-它只是地址(数字)。但这毫无意义。您应该使用
c++
功能,而不是
c
。在问这样的问题之前,你最好读一些C++书籍:
// returns deep copy of the matrix, i.e. the data is copied
    Mat clone() const;