按键多次扫描
Multiple scans by key
本文关键字:扫描 更新时间:2023-10-16
我有一个 4 通道 HSVL 图像 - 色调、饱和度、值(浮点数(、标签(无符号整数(。任务是为每个唯一标签计算色相、饱和度和值的总和数组。例如,我将能够访问输出总和[带有标签 455] = { 色调:500,周六:100,瓦尔:200 }。图像的大小约为5 MP,并且大约有3000个不同的标签。
我的想法是对图像的某些部分进行~32次扫描,这将产生32 x nLabels的总和。然后我可以扫描图像的 32 个分区,以达到 nLabel 总和结构。
是否存在"按密钥扫描?"算法可以解决此类问题?
如果您想通过 CUDA 执行此操作,以下内容可能会有所帮助。
由于您只需要总和值,因此我认为您需要的是"按键减少"。推力提供了一个可以实现thrust::reduce_by_key()
,可以满足您的需求。
但在使用它之前,您必须按标签对所有像素进行排序。这可以通过thrust::sort_by_key()
来完成
您可能还对 thrust::zip_iterator
感兴趣,它可以将 3 个通道 HSV 压缩到单个值迭代器中进行排序和缩减。
相关文章:
- 检查不带转换的扫描格式
- 如何对__uint128_t进行位扫描(128位)?
- 我的 SonarQube C++扫描成功,但结果仅标记重复项,而没有标记其他标记的位置
- 使用扫描的调试断言失败
- 如何在扫描中使用字符双指针?
- 使用 Clang LibTooling 扫描C++在模板化父类中调用本地类的源
- 为什么 EOF 在循环扫描期间没有终止?
- 有没有一种方法可以在linux中扫描已构建的ARM库中的函数
- ESP32_BLE_Arduino库中的扫描窗口、间隔和扫描时间之间有什么区别
- scanf() 语句中"%*[^n]"的格式字符串指示什么?分配抑制器 (*) 和否定扫描集 ([^) 如何协同工作?
- 为什么我应该在scanf()-家族成员中包含一个长度修饰符作为参数?有什么好处?使用长度修改器进行扫描的作用
- 开发QR扫描仪以扫描我生成的"only" QR码?
- 快速扫描标准以获取整数不起作用
- C++ 如何从文本文件中扫描二维数组并对行求和?
- 扫描阵列特定次数,然后找出元素
- C++客户端/服务器聊天应用程序 - 从 Ubuntu 命令窗口扫描输入
- c++ 中用于扫描数组的指针
- iwlist 在使用 execl 调用时尝试扫描所有接口
- 为什么使用快速扫描功能时没有得到所需的输出?
- 扫描位数组以查找多个位的模式