Matlab图像处理笔记--图像修复
2020-04-01 18:44
851 查看
大多数的修图软件都是通过借用相邻像素内容来对照片进行处理,这其中比较有代表性的就要数Adobe的修图软件了,但这这种方式也有一定的缺陷,就是当你的图像变成这个样子时,那么这张照片就彻底没救了,如下图所示。
不过最近Nvidia推出了一种新的解决方案,他们开发了一个深度学习系统,可以通过确定空白处损坏内容来填补恢复照片,而不是简单的从旁边来复制像素内容,虽然AI也会出现识别错误的情况,但是他可以拯救修复那些毫无希望的图像,但是比较遗憾的是该项技术还没有被公布开放。
传统的图像修复
如果是一个人要怎样修复一幅图像那,首先指定待修复的区域,然后确定结构,接着为区域内不同的部分添加一些细节。
Specify regions->Determine structures->Adding textures
图像修复就是要确定结构和纹理和图像的其他部分要一致。
传统的图像修复算法分为两种:
- Diffusion-based methods
主要思想就是基于边缘的像素,利用微分方程计算出应该填补的像素,但是这种方法比较适用于比较狭小和细小的缺失区域。
大家可以试一下scikit-Image这个library里面的inpainting函数来体验以下效果。 - Patch-based methods
从边缘开始确定一个patch,然后在图像的其他区域去搜索相似的patch,复制到缺失区域,通过迭代的过程来填补缺失的区域,这种方法相比于前一种方法比较适用于比较大的缺失区域,并且纹理比较清晰,缺点是某些复杂情况下,没有办法生成比较合理的结构。
opencv中inpainting方法的核心思想就是基于patch的。
传统的修复算法存在一定的局限性,比如:
- Semantic filling
- complex scenes
- large holes
接下来介绍用于图像修复的深度深层模型(deep generative models)
网络结构的设计
网络如何去提取缺失区域内外的关系,建立关系。
Context Encoder
训练过程中mask的生成
整体框架的设计
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【Matlab图像处理】学习笔记:二值图片
- 【转】matlab图像处理学习笔记-数学形态与二值图像操
- MATLAB图像处理学习笔记——图像的读取,显示,保存的基本方法
- 关于MATLAB图像处理学习笔记20070929
- MATLAB学习笔记 彩色图像处理
- Matlab图像处理学习笔记(四):多边形检测
- 图像处理基本库的学习笔记2--SVM,MATLAB,Tensorflow下分别对mnist数据集进行训练,并且进行预测
- 学习笔记_Matlab图像处理
- Matlab图像处理学习笔记(二):基于颜色的图像分割
- Matlab图像处理学习笔记(四):多边形检测
- 【Matlab图像处理】学习笔记:cat函数合成RGB 图像
- Matlab图像处理学习笔记(八):用广义霍夫变换筛选sift特征点
- matlab 数字图像处理 intrans函数 学习笔记
- 【matlab】图像处理 -- 混个技术笔记
- matlab在数字图像处理中的小笔记(1)
- Matlab图像处理学习笔记(八):用广义霍夫变换筛选sift特征点
- 笔记2 MATLAB图像处理一
- Matlab图像处理学习笔记(七):surf特征点
- MATLAB图像处理学习笔记之一
- matlab在数字图像处理笔记(2)