查找图算法的封闭部分
问题描述:
给定30 x 30像素的红色和绿色像素,存储为0和1的数组,其中1为红色,0为绿色。查找图算法的封闭部分
图像从绿色和随机的红色图案开始绘制。
图像的所有最外面的像素也被涂成红色。
现在的问题是如何填充绿色的每一个口袋,没有连接到红色的最大口袋绿色?
答
获取/写入填充算法,该算法从某个像素开始,使用不同的值填充所有连接的像素,并在此过程中对像素进行计数。
有一个int biggestSize = 0
和一个Point biggestStartPoint = null
变量与给定的初始值。
扫描图像。
当您遇到绿色像素时,用蓝色进行填充。
如果该填充的计数大于biggestSize
,则用旧的最大面积(从biggestStartPoint
)填充为红色。将新计数和起始像素存储在biggestSize
和biggestStartPoint
中。
如果计数不大,用红色填充(现在是蓝色)区域,并保持变量不变。
最后,用绿色填充最大区域。
您尚未指定您用于填充像素的任何方法。 – MBo