gpt4 book ai didi

c - 在C中合并多个整数范围的数据结构和算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:36:40 26 4
gpt4 key购买 nike

我正在处理一个计算机视觉问题,在这个问题中我必须合并图像的区域。区域(或 blob)由其行定义,即 O 的以下区域:

  0123456789
0 XXXXOXXXXX
1 XXXOOOXXXX
2 XXXOOXXXXX
3 XXXOXXXXXX
4 XXXXXXXXXX

定义为:

row: 0, cols: 4-4
row: 1, cols: 3-5
row: 2, cols: 3-4
row: 3, cols: 3-3

我选择这个数据结构是因为我需要能够快速找到一个区域的邻居,即“接触”它的所有像素。

现在,我的问题是我想合并两个区域,即计算它们的并集。这意味着我最终可能会在上面显示的数据结构中得到多个列范围。

有了这个设置,我有两个问题:

  1. C 中,此数据的最佳数据结构是什么?典型的图像是 16x16,这意味着没有那么多行/列。我会做很多合并(目标是从每个像素一个区域开始,到一个大区域结束,即 16x16 - 1 合并)。例如,我可以使用指针并分配/释放这些东西,或者使用 char* 存储列并在之后解析它。

  2. 如何高效合并两个区域?我需要找到相邻的潜在列以合并它们(例如,3-56-9 变成 3-9),最好而不必总是重新分配和复制东西。

最佳答案

如果您的数据是双色图像……黑色和白色,为什么不使用 16 个元素长的无符号短裤数组?

unsigned short image[16]

合并可以使用按位逻辑完成,这在 16 元素数组上非常有效。

关于c - 在C中合并多个整数范围的数据结构和算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2298138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com