基于Criminisi算法的栅格影像数据敏感地物隐藏
栅格影像数据敏感地物伪装是指通过计算机智能识别与计算,将影像数据中的敏感地物进行识别与提取,将敏感地物智能替换成公共地物,如草地、森林、湖泊、公园等。但目前该技术并不成熟,同时栅格影像数据敏感地物伪装技术存在众多的技术难点,其中如何处理敏感地物伪装过程中的边界问题,使伪装后的地物与原地物周边环境吻合是当前要研究的重点与难点。
基于样本的纹理合成(Texture synthesis from samples)技术是近几年迅速发展起来的一种图像修复技术。它基于给定的小区域纹理样本,按照表面的几何形状,拼合生成整个曲面的纹理。利用纹理合成技术,还可以进行纹理填充,重现原有图片效果,基于样本的纹理合成是图像修复算法的成为研究热点。
Criminisi等利用局部边界的等照度线方向与法方向之间的角度,来定义块的搜索次序,使得丢失区域的结构部分先于纹理填充。这种方法至少和先前的修补细小裂痕的技术一样好,并且还能填充大块的丢失区域。它在视觉效果和计算效率上都要大大优于先前的方法。
Criminisi算法的具体程序算法流程描述如下:
(1)图像初值的读取,标识图像的待修复区域;
(2)计算边缘上所有待修补块的优先权;
(3)确定填充前缘上最高优先权的待修补块,计算好填充前缘上待修补块的优先权以后,选取优先权最大的待修补块;
(4)在样本区域中寻找与选定的最高优先权的待修补块最相似的样本块;
(5)把最佳样本块里面对应于选定的最高优先权的待修补块里面未填充好的像素点的图像颜色信息拷贝到待修补块的相应位置中;
(6)更新置信度,把刚刚填充好的像素点的置信度由0变为1,提取新的填充前缘,完成一个待修补块的填充修补后,需重新确定填充前缘;
(7)判断填充前缘是否为空,填充前缘如果为空,则表示图像的整个目标区域已填充完,程序退出;否则,返回到第(2)步骤。
算法效果如下图所示:(源代码暂不开放,因为还处在研究当中)

基于Criminisi算法的栅格影像数据敏感地物隐藏的更多相关文章
- web系统安全运营之基础- 基于DFA算法的高性能的敏感词,脏词的检测过滤算法类(c#).
[概述]做好一个web系统的安全运维,除了常规的防注入,防入侵等,还有一个检测并过滤敏感词,脏词.. 这件事做得不好,轻则导致一场投诉或纠纷,重则导致产品被勒令关闭停运. 废话少说,先看下代码,可以 ...
- 陕西中际现代:基于自适应算法的PLC滴灌控制系统
基于自适应算法的PLC滴灌控制系统 陕西中际现代包装科技有限公司滴灌部 1.介绍 水资源正在成为一种珍贵的资源.城镇的市民使用成千上万立方的水来浇灌花园和绿地.他们依赖于使用固定灌溉计划的控制器.而这 ...
- 链接分析算法之:主题敏感PageRank
链接分析算法之:主题敏感PageRank 前面的讨论提到.PageRank忽略了主题相关性,导致结果的相关性和主题性降低,对于不同的用户,甚至有很大的差别.例如,当搜索“苹果”时,一个数码爱好 ...
- 判断用户输入的银行卡号是否正确--基于Luhn算法的格式校验
开发中,有时候,为了打造更好的用户体验,同时减轻服务器端的压力,需要对于一些如,手机号码,银行卡号,身份证号码进行格式校验 下面是判断银行卡号输入是否正确的代码(基于Luhn算法的格式校验): iOS ...
- #研发解决方案#基于Apriori算法的Nginx+Lua+ELK异常流量拦截方案
郑昀 基于杨海波的设计文档 创建于2015/8/13 最后更新于2015/8/25 关键词:异常流量.rate limiting.Nginx.Apriori.频繁项集.先验算法.Lua.ELK 本文档 ...
- 基于DES算法加密的防撞库密码系统项目总结
项目内容:基于DES算法加密的防撞库密码系统 小组名:zqhzkzkj 目标:1.对用户输入的8位字符进行DES加密,要求用户输入8位密钥 2.对于不同的网站,不同的用户名生成不同的密码 小组成员:周 ...
- 【转】基于RSA算法实现软件注册码原理初讨
1 前言 目前,商用软件和共享软件绝大部份都是采用注册码授权的方式来保证软件本身不被盗用,以保证自身的利益.尽管很多常用的许多软件系统的某些版本已经被别人破解,但对于软件特殊行业而言,注册码授权的方式 ...
- 基于Zlib算法的流压缩、字符串压缩源码
原文:基于Zlib算法的流压缩.字符串压缩源码 Zlib.net官方源码demo中提供了压缩文件的源码算法.处于项目研发的需要,我需要对内存流进行压缩,由于zlib.net并无相关文字帮助只能自己看源 ...
- 基于MMSeg算法的中文分词类库
原文:基于MMSeg算法的中文分词类库 最近在实现基于lucene.net的搜索方案,涉及中文分词,找了很多,最终选择了MMSeg4j,但MMSeg4j只有Java版,在博客园上找到了*王员外*(ht ...
随机推荐
- js 构造函数
//构造函数 //使自己的对象多次复制,同时实例根据设置的访问等级可以访问其内部的属性和方法 //当对象被实例化后,构造函数会立即执行它所包含的任何代码 function myObject(ms ...
- 表格制作模块xlwt
import xlwtworkbook = xlwt.Workbook(encoding = 'ascii') #创建workbook 括号内容视情况而定sheetname = 'Sheet'book ...
- jqGrid学习笔记(一)
3.2.body中的代码 <!-- jqGrid table list4 --> <table id="list4"></table> < ...
- [转]libsvm 训练后的模型参数讲解
http://blog.sina.com.cn/s/blog_6646924501018fqc.html 主要就是讲解利用libsvm-mat工具箱建立分类(回归模型)后,得到的模型model里面参数 ...
- cmd.ExecuteReader(CommandBehavior.CloseConnection)
有些开发人员坚持认为,如果您设置 CommandBehavior.CloseConnection 选项,则 DataReader 及其相关联的连接会在 DataReader 完成数据读取时自动关闭.这 ...
- MJExtension 中model嵌套Model
+ (NSDictionary *)objectClassInArray { return @{@"comment": [Comment class]};}
- SQL获取所有数据库名、表名、储存过程以及参数列表
SQL获取所有数据库名.表名.储存过程以及参数列表 1.获取所有用户名:SELECT name FROM Sysusers where status='2' and islogin='1'islogi ...
- Python学习笔记-Day5
冒泡算法: 实现1: a = [,,,,,,,,,,,,,,] def bubble(badlist): sort = False while not sort: sort = True ): ]: ...
- 钩子机制(hook)
钩子是编程惯用的一种手法,用来解决一种或多种特殊情况的处理. 简单来说,钩子就是适配器原理,或者说是表驱动原理,我们预先定义了一些钩子,在正常的代码逻辑中使用钩子去适配一些特殊的属性,样式或事件,这样 ...
- cinder ha