我尝试使用opencv将图像复制到其他图像,但我遇到了问题.两个图像不一样,像这样:

这是我使用的代码:
#include <opencv2\opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <cmath>
#include <iostream>
#include <opencv2\opencv.hpp>
int main()
{
cv::Mat inImg = cv::imread("C:\\Users\\DUY\\Desktop\\basic_shapes.png");
//Data point copy
unsigned char * pData = inImg.data;
int width = inImg.rows;
int height = inImg.cols;
cv::Mat outImg(width, height, CV_8UC1);
//data copy using memcpy function
memcpy(outImg.data, pData, sizeof(unsigned char)*width*height);
//processing and copy check
cv::namedWindow("Test");
imshow("Test", inImg);
cv::namedWindow("Test2");
imshow("Test2", outImg);
cvWaitKey(0);
}
Run Code Online (Sandbox Code Playgroud) 据我所知,CUDA 支持 C 和 C++。但是我不能在我的内核中使用 C++。
我尝试这样一个简单的例子
__global__ void simple(){
cout<<"abc";
}
Run Code Online (Sandbox Code Playgroud)
那是错误。但如果我改变printf("abc");它是对的。
你能帮我解释一下吗?非常感谢!