前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【手撕算法】图像修复算法整理

【手撕算法】图像修复算法整理

作者头像
周旋
发布2022-08-07 12:25:35
3.2K0
发布2022-08-07 12:25:35
举报
文章被收录于专栏:行走的机械人行走的机械人

通过图像分割和显著性检测这两个系列,我认为在开始写算法之前先放一篇综述整理会更好一些。

综述整理文会包含对该系列大体的介绍,介绍将会分析哪几个经典算法,以及在学习这些算法时我所参考的所有文章资源,我觉的一个算法靠一篇文章绝对无法使大家学会,所以大家可以看看我参考的那些博客,会事半功倍。

github地址:

https://github.com/Yan216/test

图像修复综述

首先辨别一下图像修复,图像复原,图像补全这仨的关系。

图像修复偏重修复划痕之类的这种小破损,而图像补全则偏重修复大块的缺损(包括物体移除之类的),图像复原则是提高图像的成像质量。

本系列的算法主要是图像修复/图像补全这种修复图像的算法。

图像修复(image restoration)包括很多任务,比如降噪/去噪(denoising),超分辨率重建(super-resolution reconstruction),图像填充(inpainting),图像去模糊(deblurring),JPEG去块(deblocking)等。

本图像修复系列涉及三个图像修复经典算法,分别是:

2003年,Criminisi等人提出的一种基于样本块的修补算法,Criminisi算法通过在待修复区域边缘上选取优先权最高的像素点p,以p为中心构造一个n×n大小的像素块,然后在完好区域寻找与该模板块最相似的样本块,用找到的样本块更新模板块中的待修复信息,最后更新已修复块中像素点的置信度,并开始下一次迭代修复,直至修复完成。

Telea在2004年提出的基于快速行进的修复算法(后面简称FMM算法),它基于快速行进方法。考虑图像中要修复的区域。算法从该区域的边界开始,并进入该区域内部,首先逐渐填充边界中的所有内容。

2009年Barnes提出了PatchMatch 算法。其核心思想是利用图像的连续性(consistence),一个图像patch块A附近的patch块的最近邻最有可能出现在A的最近邻附近,利用这种图像的连续性大量减少搜索范围,通过迭代的方式保证大多数点能尽快收敛。

图像修复博客整理

1

综述类:

图像修复系列-图像修复概述

代码语言:javascript
复制
https://blog.csdn.net/hit1524468/article/details/53444238

图像填充修复- 传统算法总结

代码语言:javascript
复制
https://blog.csdn.net/weixin_42386880/article/details/86654947?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161741227716780271510258%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161741227716780271510258&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduend~default-5-86654947.pc_v2_rank_blog_default&utm_term=%E5%9B%BE%E5%83%8F%E4%BF%AE%E5%A4%8D%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4450

图像修复系列-图像修复概述

代码语言:javascript
复制
https://blog.csdn.net/hit1524468/article/details/53444238?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-9.control&dist_request_id=1328769.23397.16174128011832297&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-9.control

传统的图像修复方法摘要

代码语言:javascript
复制
https://blog.csdn.net/qq_42641066/article/details/105720473?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161741363616780261927967%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161741363616780261927967&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-7-105720473.first_rank_v2_pc_rank_v29&utm_term=%E5%9B%BE%E5%83%8F%E4%BF%AE%E5%A4%8D%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4187

图像修复文章汇总

代码语言:javascript
复制
https://blog.csdn.net/yangsn0719/article/details/86643164?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161741383716780265476150%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161741383716780265476150&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-14-86643164.pc_v2_rank_blog_default&utm_term=%E5%9B%BE%E5%83%8F%E4%BF%AE%E5%A4%8D%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4450

图像修复方法总结以及深度学习的论文汇总

代码语言:javascript
复制
https://blog.csdn.net/baidu_33256174/article/details/101173444?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161741383716780265476150%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161741383716780265476150&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-17-101173444.pc_v2_rank_blog_default&utm_term=%E5%9B%BE%E5%83%8F%E4%BF%AE%E5%A4%8D%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4450

图像修复 图像补全_图像修复简介

代码语言:javascript
复制
https://blog.csdn.net/weixin_26752765/article/details/108133477?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161741383716780265476150%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=161741383716780265476150&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_v2~rank_v29-26-108133477.pc_v2_rank_blog_default&utm_term=%E5%9B%BE%E5%83%8F%E4%BF%AE%E5%A4%8D%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4450

【论文整理】图像修复(Image Inpainting)必读论文

代码语言:javascript
复制
https://drogozhang.blog.csdn.net/article/details/103329781?utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-2.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromMachineLearnPai2~default-2.control

2

Criminisi算法:

图像修复:Object Removal by Exemplar-Based Inpainting 学习笔记

代码语言:javascript
复制
https://blog.csdn.net/weixin_42386880/article/details/85039535?

Object Removal by Exemplar-Based Inpainting 翻译

代码语言:javascript
复制
https://blog.csdn.net/u012085234/article/details/86630328

复现《Region Filling and Object Removal by Exemplar-Based Image Inpainting》

代码语言:javascript
复制
https://blog.csdn.net/yinaoxiong/article/details/83785122

图像修复一:Region Filling and Object Removal by Exemplar-Based Inpainting

代码语言:javascript
复制
https://blog.csdn.net/frank_xu_0818/article/details/1884272

3 Telea的FMM算法:

opencv图像修复算法cvInpaint(Telea的FMM算法)

代码语言:javascript
复制
https://blog.csdn.net/lsg32/article/details/8932983

通过OpenCV库实现基于FMM的图像修复概述

代码语言:javascript
复制
https://blog.csdn.net/weixin_42077074/article/details/110452000?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161743348416780255279257%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161743348416780255279257&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~sobaiduend~default-2-110452000.pc_v2_rank_blog_default&utm_term=%E5%9B%BE%E5%83%8F%E4%BF%AE%E5%A4%8DFMM%E7%AE%97%E6%B3%95&spm=1018.2226.3001.4450

论文阅读笔记:《PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing》

代码语言:javascript
复制
https://blog.csdn.net/qq_28223697/article/details/101558502

OpenCV中的图像修复算法

代码语言:javascript
复制
https://blog.csdn.net/carson2005/article/details/6844025?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161743316516780261927879%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161743316516780261927879&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-6844025.first_rank_v2_pc_rank_v29&utm_term=An+Image+Inpainting+Technique+Based+on+the+Fast+Marching+Method+&spm=1018.2226.3001.4187

快速行进算法(Fast Marching)

代码语言:javascript
复制
https://blog.csdn.net/lusongno1/article/details/88409735?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161743310416780269864742%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161743310416780269864742&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-88409735.first_rank_v2_pc_rank_v29&utm_term=Fast+Marching+Method&spm=1018.2226.3001.4187

python 快速行进 算法 图像修补

代码语言:javascript
复制
https://blog.csdn.net/c2a2o2/article/details/79248254?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161743327616780269879544%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=161743327616780269879544&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~baidu_landing_v2~default-3-79248254.pc_v2_rank_blog_default&utm_term=An+Image+Inpainting+Technique+Based+on+the+Fast+Marching+Method+&spm=1018.2226.3001.4450

4

PatchMatch算法:

图像修复:PatchMatch与Space-Time completion

代码语言:javascript
复制
https://blog.csdn.net/weixin_42386880/article/details/85177388

PatchMatch核心算法(一)

代码语言:javascript
复制
https://blog.csdn.net/CV_YOU/article/details/79083295

Patchmatch算法简单实现

代码语言:javascript
复制
https://blog.csdn.net/storMouse/article/details/54667773

PatchMatch分析

代码语言:javascript
复制
https://blog.csdn.net/z6491679/article/details/50807689

patchmatch

代码语言:javascript
复制
https://blog.csdn.net/haseetxwd/article/details/79718189

PatchMatch算法

代码语言:javascript
复制
https://blog.csdn.net/fangjin_kl/article/details/76068981

5

微信公众号:

图像修复技术

代码语言:javascript
复制
https://mp.weixin.qq.com/s?__biz=MzUzOTkyNzQxOQ==&mid=2247485355&idx=1&sn=6922eb01fde6d81ea6ad1448c9930ddf&chksm=fac1b1bfcdb638a99bfbb7735a2a8ced724b25b79cc8186cc5c84349b79eec143101d65c9201&mpshare=1&scene=23&srcid=0403MmMWhv3NcCls5nDh0Dq1&sharer_sharetime=1617410335963&sharer_shareid=5b6156709f3d332ba42288712d3b8274#rd

图像修复简介

代码语言:javascript
复制
https://mp.weixin.qq.com/s?__biz=MzU0NjgzMDIxMQ==&mid=2247497431&idx=2&sn=3ab1ffa4ec974283c3481acaf1bdeca6&chksm=fb55143bcc229d2d5b1f2c6e1f48f7d098eecf1a09893532dcded684ffdb49d68b48df61f405&mpshare=1&scene=23&srcid=0403vhdadv07nH0R43FsASHY&sharer_sharetime=1617410206698&sharer_shareid=5b6156709f3d332ba42288712d3b8274#rd

知乎:

修补图像的利器:基于纹理填充技术的Inpainting

代码语言:javascript
复制
https://zhuanlan.zhihu.com/p/77306908

纹理合成再谈 - 一种非参数的方法

代码语言:javascript
复制
https://zhuanlan.zhihu.com/p/68430344

THE END

今天就到这里啦,明天更新【Criminisi图像修复算法】。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 周旋机器视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 知乎:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档