您的位置:首页 > 其它

Atitit Seed-Filling种子填充算法attilax总结

2017-01-12 20:57 155 查看
Atitit Seed-Filling种子填充算法attilax总结

 

 

种子填充的原理,4联通与8联通区域的选择。。

 

三个队列

waitProcessPixList

tempPixList

 

 

ProcessedPixList

 

 

 

/atiplat_img/src/com/attilax/cca/SeedFillAlgo.java

 

public static void main(String[] args) throws FileExistEx {

BufferedImage img = imgx.toImg("C:\\000money\\b.jpg");

 

Pix px = new Pix(new Point(0, 0));

List<Pix> area = new SeedFillAlgo(img).getAreaByPix(px, img, 30);

for (Pix pix : area) {

int c=new Color(0,0,0).getRGB();

img.setRGB(pix.point.x, pix.point.y, c);

}

imgx.save(img, "C:\\000money\\c_blk+"+filex.getUUidName()+".jpg");

System.out.println(area.size());

}

 

public List<Pix> getAreaByPix(Pix px, BufferedImage mBufferedImage, int threotNum) {

List<Pix> areaPixs = Lists.newArrayList();

areaPixs.add(px);

List<Pix> waitPixs = Lists.newArrayList();

waitPixs.add(px);

List<Pix> processedPixs = Lists.newArrayList();

while (waitPixs.size() > 0) {

//System.out.println(AtiJson.toJson(waitPixs));

Pix top1PxFrmWaitPxsList = waitPixs.get(0);

logger.info("
now pix:"+AtiJson.toJson(top1PxFrmWaitPxsList));

List<Pix> neibsPixs = getneibsPixs(top1PxFrmWaitPxsList);

 

//neibsPixs.removeAll(processedPixs);

// List<Pix>

//---------neibsPixs minus  processedPixs

neibsPixs_minusProcessedPixs(neibsPixs, processedPixs);

List<Pix> simlerNeibPixs = get_simlerNeibPixs(neibsPixs, top1PxFrmWaitPxsList, threotNum);

logger.info("
simlerNeibPixs pix:"+AtiJson.toJson(simlerNeibPixs));

//---------simlerNeibPixs into waitPixs

 addPixsList2anotherPixsList(simlerNeibPixs,waitPixs);

waitPixs.remove(0);

logger.info("
waitPixs pix:"+AtiJson.toJson(waitPixs));

logger.info("
waitPixs_cont:"+ waitPixs.size());

    //------------areaPixs.addAll(simlerNeibPixs);

addPixsList2anotherPixsList(simlerNeibPixs, areaPixs);

logger.info("
areaPixs pix:"+AtiJson.toJson(areaPixs));

//processedPixs.add(next);

addPix2anotherPixsList_P2l(top1PxFrmWaitPxsList, processedPixs);

logger.info("
processedPixs pix:"+AtiJson.toJson(processedPixs));

logger.info("
processedPixs_cont:"+processedPixs.size());

}

 

return areaPixs;

}

 

 

 作者:: 绰号:老哇的爪子claw of
Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher 王中之王King
of Kings 虔诚者Pious 宗教信仰捍卫者 Defender of the Faith. 卡拉卡拉红斗篷 Caracalla red
cloak

简称:: Emir
Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir
Attilax Akbar bin
Mahmud bin  attila bin
Solomon bin
Adam  Al Rapanui 

埃米尔
阿提拉克斯 阿克巴 本
马哈茂德 本 阿提拉
本 所罗门
本 亚当  阿尔 拉帕努伊   

常用名:艾提拉(艾龙),   EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,uke宗教与文化融合事务部部长,Uke部落首席大酋长,uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,奶牛科技cto
,uke
首席cto uke波利尼西亚区大区连锁负责人,克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke汤加王国区域负责人。布维岛和南乔治亚和南桑威奇群岛大区连锁负责人 

 Uke软件标准化协会理事长理事长 uke终身教育学校副校长

Uke 数据库与存储标准化协会副会长 uke出版社编辑总编

 

转载请注明来源:attilax的专栏   http://blog.csdn.net/attilax

--Atiend

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: