You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用D3D11_BOX调用CopySubresourceRegion后转cv mat黑屏求助

问题分析与解决

你的问题根源在于D3D11_BOX的参数设置错误:

  • D3D11_BOX的right是左边界 + 区域宽度,bottom是上边界 + 区域高度,而非和left/top取相同值。
  • 你当前设置的my_box.right = 1600、my_box.bottom = 480,导致这个选区的宽度和高度均为0,根本没有复制到任何像素,转成cv::Mat后自然显示黑屏。

正确参数设置

要提取640x640的区域,参数应修改为:

my_box.left = 1600;
my_box.top = 480;
my_box.right = 1600 + 640; // 左边界 + 区域宽度
my_box.bottom = 480 + 640; // 上边界 + 区域高度
my_box.front = 0;
my_box.back = 1; // 2D纹理保持front=0、back=1即可

额外注意事项

  • 确认原DX11纹理的分辨率足够容纳该选区,比如原纹理宽度需≥2240、高度需≥1120,避免复制时出现越界问题。
  • 检查CopySubresourceRegion的其他参数(如目标纹理子资源索引、目标坐标)是否匹配预期。

内容的提问来源于stack exchange,提问作者user19250735

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 20:57:20