一、TV整体变分修复算法简介

TV整体变分修复算法最早由Rudin等人于1992年提出, 随后很多学者对其进行了分析和研究。Chan等人指出, 由于图像不平滑以及受噪声影响等原因, 一些模型的实际修复效果往往较差, 并在此基础上提出了图像修复应该遵循的3大原则:

  1. 待修复区域应该是局部的, 且完全由待修复区域附近的信息确定;
  2. 能够修复断裂的狭窄边缘;
  3. 对噪声具有鲁棒性。

1 TV模型算法
TV模型算法上依据上述3个原则, 通过最小化能量泛函来修复破损图像, 其原理如图1所示。

图1 图像修复原理图
图1中, D为待修复区域, Γ为D的边界, E为D的外邻域。假定在区域E中一点u0|E被高斯白噪声所污染, 修复后的图像函数为u, 代价函数定义为
R (u) =∫E∪Dr (|∇u|) dxdy (1)
且满足约束条件

式中:Area (E) 为E区域的面积;σ为高斯白噪声的标准偏差。则上述问题转化为:找到合适的函数u使得代价函数 (1) 最小。由Lagrange乘数法, 可以将代价函数 (1) 转化为

根据Euler-Lagrange方程求解函数u, 可以得到迭代
公式 u (n) O=∑P∈Λh (n-1) OPu (n-1) P +h (n-1) OOu (n-1) O (4)
其中, hOP (P∈Λ, Λ={N, S, W, E}, hOO, 为权值系数。

二、部分源代码

clear all;close all;clc;
if 0img = imread('lina.jpg');
end
if 1img = imread('butterfly.png');
endimg = imresize(img,0.5);
img = im2double(img);
[n_row,n_col,c] = size(img);
% randomly choose missing lines (75% lost)
miss_data = repmat(rand(15,15) > 0.5,[15,15,c]); %根据实际图片大小创建匹配维度的随机噪声矩阵
miss_image = img.*miss_data;
% miss_image(miss_data == 0) = 1;
% imshow(miss_image);
% some parameters
maxiter = 40;
check   = 10;
lambda  = 640;%自定义平滑指数
tic
% grayscale images
if c == 1% inpainting using a TV prioru1 = TV_inpainting_primal_dual(miss_image, miss_data, lambda, maxiter*4, check);
time1=toc% inpainting using a Curvelet prior(fast discrete curvelet transform)u2 = Curvelet_inpainting_primal_dual(miss_image, miss_data, lambda, maxiter, check);
time2=toc
end
%rgb images
if c == 3u3 = rgb_TV_inpainting_primal_dual(miss_image, miss_data, lambda, maxiter*4, check); time3=tocu4 = rgb_Curvelet_inpainting_primal_dual(miss_image, miss_data, lambda, maxiter, check);time4=toc
end

三、运行结果

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]何凯,张涛,梁然.一种基于全变分模型的图像修复改进算法[J].光电子.激光. 2010,21(12)

【图像修复】基于matlab全变分TV+curvelet变换彩色图像修复【含Matlab源码 461期】相关推荐

  1. 【Matlab语音处理】声音信号频谱分析仪【含GUI源码 325期】

    一.代码运行视频(哔哩哔哩) [Matlab语音处理]声音信号频谱分析仪[含GUI源码 325期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊, ...

  2. 【Matlab图像检索】综合特征图像检索【含GUI源码 395期】

    一.代码运行视频(哔哩哔哩) [Matlab图像检索]综合特征图像检索[含GUI源码 395期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  3. 【Matlab肌电信号】肌电信号处理【含GUI源码 966期】

    一.代码运行视频(哔哩哔哩) [Matlab肌电信号]肌电信号处理[含GUI源码 966期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余继周,杨 ...

  4. 【Matlab条形码识别】二维条形码识别【含GUI源码 607期】

    一.代码运行视频(哔哩哔哩) [Matlab条形码识别]二维条形码识别[含GUI源码 607期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  5. 【Matlab图像加密】正交拉丁方置乱算法图像加解密【含GUI源码 182期】

    一.代码运行视频(哔哩哔哩) [Matlab图像加密]正交拉丁方置乱算法图像加解密[含GUI源码 182期] 二.matlab版本及参考文献 一.代码运行视频(哔哩哔哩) [Matlab图像处理]自动 ...

  6. 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】

    一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...

  7. 【Matlab人脸识别】KL变换人脸识别【含GUI源码 859期】

    一.代码运行视频(哔哩哔哩) [Matlab人脸识别]KL变换人脸识别[含GUI源码 859期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...

  8. 【Matlab答题卡识别】hough变换答题卡判定与成绩统计【含GUI源码 752期】

    一.代码运行视频(哔哩哔哩) [Matlab答题卡识别]hough变换答题卡判定与成绩统计[含GUI源码 752期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [ ...

  9. 【Matlab答题卡识别】hough变换答题卡判定与成绩统计(带面板)【含GUI源码 1017期】

    一.代码运行视频(哔哩哔哩) [Matlab答题卡识别]hough变换答题卡判定与成绩统计(带面板)[含GUI源码 1017期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 ...

  10. 【Matlab车牌识别】停车计费系统【含GUI源码 735期】

    一.代码运行视频(哔哩哔哩) [Matlab车牌识别]停车计费系统[含GUI源码 735期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MATLA ...

最新文章

  1. Shell - 挂载硬盘
  2. 用Ajax 构建关键任务的企业级Web 应用 ——《深入 Ajax :架构与最佳实践》
  3. 前端一HTML:一: 浏览器,服务器,请求报文
  4. 模拟电路技术之基础知识(六)
  5. java 整数加减_JAVA超大整数的加法如何改成减法
  6. VS2017 快捷键
  7. hdu1796容斥原理
  8. JavaScript实现数据分页
  9. MVC安全:ajax表单提交切记加上AntiForgeryToken防止跨站请求伪造 (CSRF)攻击
  10. android访问服务器405,android – HTTP状态405 – 不允许的方法(jax-rs服务)
  11. 错误使用 xlim (line 31) 范围必须为包含递增的日期时间值的 2 元素向量
  12. 百战学堂python教学文档_尚学堂百战程序员:python对文件的操作
  13. 康佳电视系统升级服务器地址,康佳电视各平台升级方法及强制刷机汇总
  14. python实现复联4影评数据词云可视化分析
  15. Excel批量根据银行卡号查询银行卡的详细信息
  16. 关于“调包”,职业调包侠在此!
  17. 蓝牙 aptx android,蓝牙aptx干嘛用的
  18. 01-名词冠词(思维导图记录)
  19. 中国农历(阴阳历)和西元阳历即公历互转JavaScript库
  20. Pandas方法实践-2012美国总统竞选赞助数据分析

热门文章

  1. hdu2492 Ping pong
  2. Python学习总结之一 -- 基础篇
  3. hdu-3333-Turing Tree(树状数组)
  4. 【转】android题目
  5. 标准C++ 与 VC++ 区别集锦(待续)
  6. .NET(C#)代码性能优化
  7. 深度学习:正则化方法
  8. 传智播客 tcp长连接和短连接 学习笔记
  9. 190707每日一句,一堂重要的人生之课Let it go, 穷则变变则通
  10. 190526每日一句,自律克制,告别懒惰