кто нибудь знает как сделать запись D3D12 texture в cuda и отображение через opencv
как импортировать изображение находящиеся в cuda в cv::cuda::GpuMat я знаю
но вот как получить поинтер на D3D12 texture находящиеся в cuda разобраться не получаеться
Здравствуйте, sergey2b, Вы писали:
возможно кому то пригодиться, отображение памяти cuda в GpuMat
#include "opencv2/core.hpp"
#include <opencv2/core/utility.hpp>
#include "opencv2/highgui.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/cudaimgproc.hpp"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>
#include <stdlib.h>
using namespace std;
using namespace cv;
using namespace cv::cuda;
//#define hsize 256
//#define vsize 256
#define hsize 1024
#define vsize 1024
#define IMAGE_TYPE unsigned char
int main()
{
uint8_t* imgPtr;
cv::Mat left, downloadedLeft;
cv::cuda::GpuMat gpuLeft;
left = imread("c:/videos/leftview.jpg", cv::IMREAD_GRAYSCALE);
gpuLeft.upload(left);
cudaMalloc((void**)&imgPtr, gpuLeft.rows * gpuLeft.step);
cudaMemcpyAsync(imgPtr, gpuLeft.ptr<uint8_t>(), gpuLeft.rows * gpuLeft.step, cudaMemcpyDeviceToDevice);
// following code is just for testing and visualization...
cv::cuda::GpuMat gpuImg(left.rows, left.cols, left.type(), imgPtr, gpuLeft.step);
gpuImg.download(downloadedLeft);
imshow("test", downloadedLeft);
waitKey(0);
return 0;
}