Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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# WPF-用于16位深度灰度监视器的专用图像显示_C#_Wpf_Opencv_Directx - Fatal编程技术网

C# WPF-用于16位深度灰度监视器的专用图像显示

C# WPF-用于16位深度灰度监视器的专用图像显示,c#,wpf,opencv,directx,C#,Wpf,Opencv,Directx,我目前正在开发一个应用程序,将16位灰度图像显示到16位灰度兼容显示器上。 我在软件开发方面的大部分经验都是在WPF中获得的。然而,我读到,即使WPF可以接受灰度16类型的图像,它们在内部转换为32位颜色。 为了实现这一点,我一直在使用WPFDXInterop,通过基于DirectX 11的自定义控件尝试输出我想要的图像,有时还使用CUDA和OpenCV进行图像处理 我在这种情况下使用WPF是不是运气不好?我是否需要更改编码环境? 能够继续使用CUDA和OpenCV进行图像处理对我来说很重要,但

我目前正在开发一个应用程序,将16位灰度图像显示到16位灰度兼容显示器上。 我在软件开发方面的大部分经验都是在WPF中获得的。然而,我读到,即使WPF可以接受灰度16类型的图像,它们在内部转换为32位颜色。 为了实现这一点,我一直在使用WPFDXInterop,通过基于DirectX 11的自定义控件尝试输出我想要的图像,有时还使用CUDA和OpenCV进行图像处理

我在这种情况下使用WPF是不是运气不好?我是否需要更改编码环境?
能够继续使用CUDA和OpenCV进行图像处理对我来说很重要,但我可以在必要时从DirectX更改为OpenGL,并学习WPF以外的知识。

通过进一步研究,我似乎可以改为UWP,并将其SwapChainPanel与DirectX rendertarget一起使用。然后使用DirectCompute进行GPU编程。当我开始编写它时,我会确定这是否是一个可行的解决方案。对此进行更多的研究,我应该能够通过“VisualLayer”将像SwapChainPanel这样的UWP控件导入WPF,正如在上所看到的,我已经实现了这方面工作解决方案的初始部分。我已经用它作为一个参考,来指导我如何实现我的目标,并取得很大的成功。我现在使用UWP的SwapChainPanel,并通过DirectX11创建自己的纹理,用于OpenCV和CUDA GPGPU方法。我也相信输出图像位深度是正确的,因为我自己正在创建交换链和设备。