问题标签 [npp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
59 浏览

c++ - 使用带有 NPP 流域分割的标记?

目前我正在创建一个计算机视觉程序来计算苹果,并测量苹果的某些方面。为了检测苹果,我使用颜色/HSV 过滤来绘制苹果的轮廓。当两个苹果接触时,轮廓连接,程序将被视为一个。为了对此进行细分,我使用了 OpenCV 的分水岭函数(链接:https ://docs.opencv.org/4.x/d2/dbd/tutorial_distance_transform.html )。

最近我在寻找使用 NPP 分水岭函数,因为它将在 GPU 而不是 CPU 上运行,它会运行得更快(希望如此)。我让它运行没有错误,但结果不是我所期望的。NPP 分水岭基于颜色(我相信)制作分段,另一方面,OpenCV 分水岭基于使用距离变换算法创建的标记制作分段。

输出示例:

从示例中可以看出,OpenCV 检测到 4 个轮廓,NPP 检测到 3 个(以及很多背景噪声,但这没有问题)。

所以我的问题是:是否可以在 NPP 流域功能中插入标记?或者是否有另一种方法可以使用 NPP 获得与使用 OpenCV 类似的分割?

如果有人可以提供帮助,那就太好了!

0 投票
0 回答
48 浏览

cuda - 在 cpu 上重现 Cuda Npp 线性插值结果

我想在 C++ 中理解和重现提供双线性插值的 Cuda Npp 函数的结果。但无论我做什么,我都无法到达那里。我读到了纹理用于插值的特殊固定分数格式,但我认为这不适用于这里,因为我尝试这样做会得到更糟糕的结果。尝试了不同的方法进行插值本身无济于事。NPP 如何进行双线性插值?一些代码:

产生结果

0 投票
0 回答
22 浏览

ffmpeg - 使用 FFMPEG 在 GPU 内存上按 AV_PIX_FMT_CUDA 格式缩放 AVFrame

我什至尝试了 av_hwframe_transfer_data,将硬件解码的帧传输到 RAM 并获得了另一种帧格式 AV_PIX_FMT_NV12 但 sws_scale 仍然无法调整它的大小,说不支持硬件像素格式。

有趣的是,sws_getContext 从这些帧中生成 SwsContext 没有任何错误!

我已经看到有关 scale_npp、vf_scale_npp 等的建议,但找不到任何关于如何使用它们的可运行片段。

ffmpeg 构建配置也包括这些标志:

--enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid --enable-ffnvcodec --enable-nonfree --enable-cuda-nvcc --enable-libnpp --enable-gpl

任何和平的代码表示赞赏。提前致谢。