有没有办法在opencv中调整图像大小而忽略mask指定的某些区域?
例如我有带黑洞的图像,我不想在插值过程中使用这些孔。
我可以使用resize的INTER_NEAREST
标志,或者我可以找到这些洞来构建一个掩码,然后通过这个掩码将结果图像中的值设置为0,但这些不是优雅的解决方案。
这是一个示例,但是孔可以更大
答案 0 :(得分:0)
这样做的正确方法是先用一些技术填充黑洞,使图像看起来好像从来没有洞。
你的目标应该是在孔之间产生平滑的过渡,最大限度地减少任何边缘的形成。然后你可以进行缩放。您现在可以尝试扩张或Alpha混合,最后缩放输出图像以查看结果是否符合预期。
创建图像副本(以保留孔区域)并填充复制图像中的孔。
在孔区域应用Opencv Inpaint,然后将填充的图像调整为所需大小。让这个形象成为我。
此外,将原始图像调整为所需大小,以便知道图像I中孔的位置。
现在,如果它们位于孔区域,您可以将I中的像素标记为黑色。