该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

CDD图像修复算法,运行时有些问题还望给以解答

ImgOriginal=imread('C:\Users\dell\Desktop\B1-4,3.jpg');

figure(1);imshow(ImgOriginal);

[width,height] = size(ImgOriginal);

Img = double(ImgOriginal);

U = Img;

V = Img;

n = 1;

a=0.0001;

IterTimes=150;

MASK=~(Img>=251); %人为选择阈值

figure(2);imshow(MASK);

while n <= IterTimes

%更新修复区域内每点值

for i = 2:width-1

for j = 2:height-1

%              if (MASK(i,j+1) == 255)|(MASK(i,j-1) == 255)|(MASK(i+1,j) == 255)|(MASK(i-1,j) == 255)

if MASK(i,j) == 0

if MASK(i,j) == 0

%计算w1,w2,w3,w4

gridw2 = (V(i,j)-V(i-1,j))^2+((V(i-1,j-1)-V(i-1,j+1))/2)^2;

gride2 = (V(i,j)-V(i+1,j))^2+((V(i+1,j-1)-V(i+1,j+1))/2)^2;

grids2 = (V(i,j)-V(i,j-1))^2+((V(i-1,j-1)-V(i+1,j-1))/2)^2;

gridn2 = (V(i,j)-V(i,j+1))^2+((V(i-1,j+1)-V(i+1,j+1))/2)^2;

a1 = 1/sqrt(gridw2+a);

a2 = 1/sqrt(gride2+a);

a3 = 1/sqrt(grids2+a);

a4 = 1/sqrt(gridn2+a);

k =(a1*V(i-1,j)+a2*V(i+1,j)+a3*V(i,j+1)+a4*V(i,j-1))/(a1+a2+a3+a4);

end

%计算w1,w2,w3,w4

gridUw2 = (V(i,j)-V(i-1,j))^2+((V(i-1,j-1)-V(i-1,j+1))/2)^2;

gridUe2 = (V(i,j)-V(i+1,j))^2+((V(i+1,j-1)-V(i+1,j+1))/2)^2;

gridUs2 = (V(i,j)-V(i,j-1))^2+((V(i-1,j-1)-V(i+1,j-1))/2)^2;

gridUn2 = (V(i,j)-V(i,j+1))^2+((V(i-1,j+1)-V(i+1,j+1))/2)^2;

w1 = k/sqrt(gridUw2+a);

w2 = k/sqrt(gridUe2+a);

w3 = k/sqrt(gridUs2+a);

w4 = k/sqrt(gridUn2+a);

U(i,j) =(w1*V(i-1,j)+w2*V(i+1,j)+w3*V(i,j+1)+w4*V(i,j-1))/(w1+w2+w3+w4);

end

end

end

n = n+1;

V = U;

end

D = floor(V);

figure(3);imshow(D,[]);

cdd matlab 算法,求翻译 CDD修复算法相关推荐

  1. 【手撕算法】FMM图像修复算法C++实现

    FMM算法出自Telea的论文 An Image Inpainting Technique Based on the Fast Marching Method opencv的inpaint函数就是采用 ...

  2. MATLAB可视化实战系列(二十八)-贪心算法求快速平方根倒数算法中的“魔术数字”【含matlab源代码】

    前言 快速平方根倒数算法(Fast InvSqrt)是一种快速计算平方根的倒数的算法,常用于向量标准化运算,在光照渲染中有重要应用.此算法最早可能是于90年代前期由SGI所发明,后来于1999年在&l ...

  3. matlab圆周率计算,matlab代码求圆周率的简单算法

    说起圆周率的算法很多人都会想起一大堆的无穷级数等各种表达式,但是这样的算法需要比较高的数学推理水品,而且对于很多初学者而言很难理解.程序员不能仅仅是机械的写程序,必须要真正的理解程序中每个代码的意义, ...

  4. java模拟退火算法求函数_模拟退火算法从原理到实战【基础篇】

    模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小 ...

  5. C++floyd warshall算法求最短路径(附完整源码)

    C++floyd warshall算法求最短路径 floyd warshall算法求最短路径的完整源码(定义,实现,main函数测试) floyd warshall算法求最短路径的完整源码(定义,实现 ...

  6. Matlab实现连通域标记算法求图像连通域

    Matlab实现连通域标记算法求图像连通域 连通域 连通域标记算法 连通域 连通区域(Connected Component)一般是指图像中具有相同像素值且位置相邻的前景像素点组成的图像区域(Regi ...

  7. MATLAB点云处理:读取、展示、最近邻、ICP算法求取转移矩阵、旋转

    MATLAB中关于点云的几个函数的简单应用.作者使用的是MATLAB R2015b,这几个函数应该是在Computer Vison包里. 全文都是作者自己结合MATLAB文档的理解,欢迎指教. 1. ...

  8. jiegputo matlab转置,matlab实现用免疫克隆算法求二元函数的最优值(附源码)

    用免疫克隆算法求二元函数的最优值 求下面函数的最小值(最优解) ​ Goldstein-Price函数: ​ f1(x)=[1+(x1+x2+1)2(19-14x1+3x12-14x2+6x1x2+3 ...

  9. 【老生谈算法】matlab实现Kruskal避圈算法求最小生成树——Kruskal避圈算法

    基于MATLAB的Kruskal避圈算法求最小生成树 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]基于MATLAB的Kruskal避 ...

  10. matlab 灰度共生矩阵熵,结合灰度共生矩阵和熵的图像修复算法

    摘 要: 利用灰度共生矩阵提取图像纹理特征值,然后根据熵值的大小来实现模块大小的选择.另外,在寻找最佳匹配块时,同时考虑了颜色信息的差异和空间距离的因素.最后,给出了客观评价图像修复质量的PSNR度量 ...

最新文章

  1. c js html页面进度条,js实现进度条的方法
  2. JavaScript 的DOM操作
  3. 450. 删除二叉搜索树中的节点
  4. nltk安装punkt等语料库时报SSL错误完美解决方案及离线安装方法
  5. linux 进程间读写锁,Linux系统编程—进程间同步
  6. 网页幻灯片切换动画特效源码
  7. (47)FPGA同步复位与异步复位(异步复位同步释放)
  8. android串口service,Android串口操作库:EZ-SerialPort
  9. BrnShop开源网上商城第一讲:架构设计
  10. 【链接】Eclipse的Debug调试技巧
  11. python获取类函数的变量-python 动态获取当前运行的类名和函数名的方法
  12. 力扣-1046 最后一块石头的重量
  13. Blender快捷键设置
  14. Work breakdown structure 简介
  15. 【Docker】Failed to get D-Bus connection: Operation not permitted解决
  16. LaneATT代码复现环境配置
  17. WS824分机号码设置
  18. java.lang.NoSuchMethodError: org.springframework.http.MediaType.getCharSet()Ljava/nio/charset/Charse
  19. win10分屏快捷键无法使用_Win10分屏操作,再也不用来回切换视图了!
  20. Java并发编程:park线程

热门文章

  1. Docker安装、配置国内镜像加速器
  2. 前端知识总结之浏览器知识
  3. 配对和非配对t检验的差异
  4. 公有云、私有云和混合云介绍
  5. WIN10英文改中文
  6. 数据结构与算法80道
  7. 从0到1亿美元 ---- PopCap创始人John Vechey自述
  8. 润乾报表统计图各属性功能介绍
  9. CSS3阴影 box-shadow的使用和技巧总结
  10. 读书笔记----《平凡的世界》第四篇