求个图形学的算法
一个位图上有几块(>1)地方有内容,是一坨坨密集的点,其他全部为空,这几块不是连续的,是分开的,怎样得到各自包含这几块内容的最小的矩形
[解决办法]
呵呵,这个刚写过。建立vector,行扫描时每遇到一个点要再前vector中查找左边和上边的点是否在某一个vector中,若在,把当前点坐标放所在数组中。如果左点和上点分别在两个数组中,则将两个数组合并(两部分的点连起来了)。一幅图扫描完,vecotr包含的点就是一个相连部分。建立了几个vector,就是图像中有几个相连部分。如果想建立矩形,则在扫描时加一个识别宽和高两个个变量,这样按照这两个参数新开一个内存,把相应vector中记录的点的坐标减去一个适当的偏移量,并把颜色值赋到新矩形里就好了。不知道说清楚没。楼主要做什么呀?具体一点的就再联系我吧。还有,我这个方法效率不高,比较挫。
[解决办法]
先分成几个连通分量,然后求各个连通分量的bbox。