C++11 基于栅格遮罩提取图像部分

C++11 基于栅格遮罩提取图像部分,c++11,image-processing,opengl-es,cocos2d-x-3.0,C++11,Image Processing,Opengl Es,Cocos2d X 3.0,我一直在查看一些拼图游戏,我注意到其中一些游戏使用网格图像从图像中提取片段。表示要提取的碎片网格的图像是带有白线(碎片轮廓)的图像,其余的都是透明的。我一直在努力寻找使用这张图片为我自己的游戏提取棋子的方法,但还没有找到方法 有人能告诉我如何使用这张图片来提取碎片吗 这里可以看到该图像的一个示例。考虑到我已经用蓝色绘制了白线,使其在堆栈溢出时可见: p.D.再仔细考虑一下,我发现的唯一解决方案是使用泛光填充算法提取像素,并以工件中心为起点构建图像集,但我认为这太慢了。此方法可用于具有规则宽度/

我一直在查看一些拼图游戏,我注意到其中一些游戏使用网格图像从图像中提取片段。表示要提取的碎片网格的图像是带有白线(碎片轮廓)的图像,其余的都是透明的。我一直在努力寻找使用这张图片为我自己的游戏提取棋子的方法,但还没有找到方法

有人能告诉我如何使用这张图片来提取碎片吗

这里可以看到该图像的一个示例。考虑到我已经用蓝色绘制了白线,使其在堆栈溢出时可见:

p.D.再仔细考虑一下,我发现的唯一解决方案是使用泛光填充算法提取像素,并以工件中心为起点构建图像集,但我认为这太慢了。此方法可用于具有规则宽度/高度的任何一组工件


干杯。

我不知道如何快速提取这些片段,但如果我要创建这样一个益智游戏,我会创建一个算法,该算法将应用于图像的行数和列数,并创建一个网格。然后,对于两个拼图连接的每一对,我将使用random生成和平如何组合在一起,并从中创建一个形状。从这里开始,您可以生成顶点和纹理坐标或黑白图像,以遮罩纹理并保持方形。在任何情况下,你现在有一个随机生成的拼图,可以应用于任何图像…是的,这是我们创建拼图的常用方法。但是,我想知道这些人如何在给定的要求下实现它。除了洪水填充算法之外,我找不到任何其他方法来实现它。无论如何,谢谢你指出这一点;)。好吧,也许有一种方法就是跟着一条线走。例如,如果一条线总是一个像素长度,你就会知道你可以从任何一个角开始,然后沿着路径走。。。它应该是相当快的,因为图像分辨率不需要很大。但该算法本身将呈现为递归,然后需要对其进行重新构造,以丢失较大网格的递归。是的,我也考虑过这一点,但将其扔掉可能是因为我觉得它太脏:)。也许我应该再复习一遍。不管怎么说,之前发布的图片的奇怪之处在于,参考线不仅仅是1个像素,而且线条也应用了某种反锯齿我们会对你找到的解决方案感兴趣。。。