为矩形图像创建重叠的正方形补丁

时间:2019-12-14 21:01:24

标签: python image-processing sampling subsampling

给出一个矩形图像img并修补s。现在,我想用边长为s的正方形补丁覆盖整个图像,以使img中的每个像素至少使用一个补丁数最少的一个补丁。此外,我希望相邻的补丁尽可能少地重叠。

到目前为止,我已经在下面包含了我的代码,并给出了一个示例。但是,它并不完美。希望有人发现错误。

示例:给定的形状为img(4616, 3016)的{​​{1}} 这意味着我将在较长的一侧上粘贴21个补丁,在宽度较小的一侧上粘贴14个补丁,总共21 * 14 = 294个补丁。

现在,我尝试找出补丁如何在补丁之间分配重叠部分。 我的补丁可以覆盖大小为s = 224的图像,因此我的补丁在高度上必须覆盖88个重叠的像素(4704, 3136),宽度类似。

现在,我尝试找出如何在21个色块上分配88个像素。 88 = 4 * 21 + 4 因此,我将有missing_h = ht * s - h个具有重叠hso = 17的补丁和shso = 4个具有重叠5的补丁,宽度是相似的。

现在,我只需要遍历整个图像并跟踪当前位置hbo = 4。每次循环后,我进行调整,(cur_h, cur_w)。我有cur_h, cur_w,即我当前的补丁程序编号s,用于指示补丁程序重叠的大小。

i, j

1 个答案:

答案 0 :(得分:1)

可以解决上述问题,进行以下编辑:

hbo = missing_h % (ht-1)
wbo = missing_w % (wt-1)
shso = int(missing_h / (ht-1))
swso = int(missing_w / (wt-1))