% Compute confidences along the fill front------沿着填补前沿计算自信度

for k=dR'

Hp = getpatch(sz,k);

q = Hp(~(fillRegion(Hp)));

C(k) = sum(C(q))/numel(Hp);

end

% Compute patch priorities = confidence term * data term-----计算修补块的优先权

D(dR) = abs(Ix(dR).*N(:,1)+Iy(dR).*N(:,2)) + 0.001;

priorities = C(dR).* D(dR);

% Find patch with maximum priority, Hp-----寻找最大优先权的修补快

[unused,ndx] = max(priorities(:));

p = dR(ndx(1));

[Hp,rows,cols] = getpatch(sz,p);

toFill = fillRegion(Hp);

% Find exemplar that minimizes error, Hq-------发现错误最小化的样本

Hq = bestexemplar(img,img(rows,cols,:),toFill',sourceRegion);

% Update fill region-------更新填充区域

toFill = logical(toFill);                 % Marcel 11/30/05

fillRegion(Hp(toFill)) = false;

% Propagate confidence & isophote values---------传递自信度和等照度线的值

C(Hp(toFill))  = C(p);

Ix(Hp(toFill)) = Ix(Hq(toFill));

Iy(Hp(toFill)) = Iy(Hq(toFill));

% Copy image data from Hq to Hp-----从Hq复制图片数据到Hp

ind(Hp(toFill)) = ind(Hq(toFill));

img(rows,cols,:) = ind2img(ind(rows,cols),origImg);

% Visualization stuff     ---------可视化的东西

if nargout==6

ind2 = ind;

ind2(logical(fillRegion)) = 1;          % Marcel 11/30/05

%ind2(fillRegion) = 1;                  % Original

fillMovie(iter).cdata=uint8(ind2img(ind2,origImg));

fillMovie(iter).colormap=[];

end

iter = iter+1;

end

inpaintedImg=img;

%---------------------------------------------------------------------

% Scans over the entire image (with a sliding window)整个图像扫描(有一个滑动窗口)

% for the exemplar with the lowest error. Calls a MEX function.为最低的错误的样本。MEX调用一个函数。

%---------------------------------------------------------------------

function Hq = bestexemplar(img,Ip,toFill,sourceRegion)

m=size(Ip,1); mm=size(img,1); n=size(Ip,2); nn=size(img,2);

best = bestexemplarhelper(mm,nn,m,n,img,Ip,toFill,sourceRegion);

Hq = sub2ndx(best(1):best(2),(best(3):best(4))',mm);

%---------------------------------------------------------------------

% Returns the indices for a 9x9 patch centered at pixel p.返回像素中心于第1 9x9修补指数

%---------------------------------------------------------------------

function [Hp,rows,cols] = getpatch(sz,p)

% [x,y] = ind2sub(sz,p);  % 2*w+1 == the patch size

w=4; p=p-1; y=floor(p/sz(1))+1; p=rem(p,sz(1)); x=floor(p)+1;

rows = max(x-w,1):min(x+w,sz(1));

cols = (max(y-w,1):min(y+w,sz(2)))';

Hp = sub2ndx(rows,cols,sz(1));

%---------------------------------------------------------------------

% Converts the (rows,cols) subscript-style indices to Matlab index-style

% indices.  Unfortunately, 'sub2ind' cannot be used for this.

%---------------------------------------------------------------------

function N = sub2ndx(rows,cols,nTotalRows)

X = rows(ones(length(cols),1),:);

Y = cols(:,ones(1,length(rows)));

N = X+(Y-1)*nTotalRows;

%---------------------------------------------------------------------

% Converts an indexed image into an RGB image, using 'img' as a colormap

%索引图像转换成RGB图像,使用'img'作为一个颜色表

%---------------------------------------------------------------------

function img2 = ind2img(ind,img)

for i=3:-1:1, temp=img(:,:,i); img2(:,:,i)=temp(ind); end;

%---------------------------------------------------------------------

% Converts an RGB image into a indexed image, using the image itself as

% the colormap.利用图像本身的颜色表,将索引图像转换成RGB图像。

%---------------------------------------------------------------------

function ind = img2ind(img)

s=size(img); ind=reshape(1:s(1)*s(2),s(1),s(2));

%---------------------------------------------------------------------

% Loads the  image and it's fill region, using 'fillColor' as a marker

% value for knowing which pixels are to be filled.使用fillColor作为标记值了解哪些%像素将被填充来加载图像和他的填充区域

%---------------------------------------------------------------------

function [img,fillImg,fillRegion] = loadimgs(imgFilename,fillFilename,fillColor)

img = imread(imgFilename); fillImg = imread(fillFilename);

fillRegion = fillImg(:,:,1)==fillColor(1) & ...

fillImg(:,:,2)==fillColor(2) & fillImg(:,:,3)==fillColor(3);

matlab进行图片修补,Matlab基于样本的图像修补方法代码的一些问题!相关推荐

  1. 图像的梯度方向matlab,基于梯度方向的图像边缘检测方法与流程

    本发明具体涉及一种基于梯度方向的图像边缘检测方法. 背景技术: 边缘检测是图像处理的基本问题,在图像分割.特征提取.视觉导航等领域有广泛的应用.基于微分的边缘检测算法如Sobel算子.Prewitt算 ...

  2. 图像控制点 形变_基于控制点的图像变形方法的研究与实现

    基于控制点的图像变形方法的研究与实现 林军 ; 李新华 [期刊名称] <北京电力高等专科学校学报 ( 自然科学版 ) > [年 ( 卷 ), 期] 2011(028)005 [摘要] 根据 ...

  3. matlab车辆测距,一种基于单目视觉的车辆测距方法

    一种基于单目视觉的车辆测距方法 [专利说明]一种基于单目视觉的车辆测距方法 所属技术领域 [0001] 本发明属于目标检测与测距领域,尤其涉及一种基于单目视觉的车辆测距方法. [背景技术] [0002 ...

  4. matlab怎么添加条纹噪声,基于频域的图像条纹噪声消除方法

    基于频域的图像条纹噪声消除方法 徐花艳 孙瑞宁 (长安大学 陕西 西安 710064) 摘 要: 主要以图像去噪为主的研究对象,利用图像的频谱图对图像中的条纹噪声的频率分布进行分析,并使用巴特沃斯带阻 ...

  5. matlab裁剪图片边框,MATLAB复制图片时边框大的问题

    当使用MATLAB画图时,需要将图片复制到word中,会发现图片有一个白色的边框,在论文的排版中是一个影响美观的问题 例如: >> x = 0:10; >> y = sin(x ...

  6. matlab bp神经网络的诊断,基于-BP神经网络的故障诊断方法.doc

    <智能控制基础> 研究生课程设计报告 题 目 基于BP神经网络的故障诊断方法 学 院 机械与汽车工程学院 专业班级 车辆工程 学 号 221601852020 学生姓名 李跃轩 指导教师 ...

  7. matlab的稀疏表示分类,基于稀疏表示的分类方法

    四天数模,做得不好,但收获不小.最后还通宵一宿,多日后得以重获新生,特做个小记,聊记心得. 本次选题为神经元的分类和聚类,前者给定种类,需要通过训练样本找寻分类特征,再用测试样本测试分类方法的正确性. ...

  8. matlab将图片写入指定文件夹,将图像写入图形文件

    A - 图像数据 矩阵 图像数据,指定为满(非稀疏)矩阵. 对灰度图像而言,A 可以是 m×n. 对索引图像而言,A 可以是 m×n.指定 map 输入参数中的相关颜色图. 对真彩色图像而言,A 必须 ...

  9. 图像处理:基于cv2.inpaint()图像修补

    前言 今天我们将学习如何通过一种"修复"的方法消除旧照片中的小噪音,笔画等.当然,经过我的测试你也可以将其用于削弱混杂了其他的颜色的图像. 实验背景 大多数人家都会有一些旧的的旧化 ...

最新文章

  1. 如何实现更换Jupyter Notebook内核Python版本
  2. SpringSecurity注销功能
  3. Delphi - SEH研究
  4. php study是什么,phpstudy与wamp区别的区别是什么?
  5. AspectJ注解版和XML版
  6. 校园报修管理系统的不足与探讨
  7. 用matlab进行函数插值的几种方法
  8. 腾讯云学生服务器更换系统,腾讯云学生轻量服务器免费升配攻略(60G SSD系统盘不支持升级)...
  9. 配置linux磁盘配额前,Linux磁盘配额Quota配置详解
  10. 乐高收割机器人_学习乐高机器人编程,孩子到底收获了什么?
  11. 【Python脚本】harris调试时转换gray,Ix,Iy,resp等数据为png图片
  12. 直属领导和老板都给了我绩效A,HR最后审核时降成了B,平时没有得罪她,她为什么这么做?...
  13. calibre的注册表残留删除
  14. 深圳腾讯计算机打鱼的游戏,腾讯欢乐捕鱼
  15. uniapp 聊天记录插入的两种方式
  16. AE基础教程第一阶段——01影视后期专业导论
  17. css less 文件:global的写法
  18. 流量见顶碰上产业疲软 汽车互联网平台走向何处?
  19. 通过实例学Android应用开发01
  20. python大作业黑白棋记分_Python实现黑白棋人机对弈

热门文章

  1. 硬刚华为?小米在芬兰成立相机研究公司
  2. 最流畅的手机,性能、跑分却弱爆了?2019年上半年手机数据报告出炉
  3. 《上海堡垒》改编电影发布 QQ阅读披露作者江南心声
  4. 进击的爱奇艺文学:如何成为苹果园生态的重要一环?
  5. 造车之心不死?苹果已与至少四家公司进行谈判
  6. 苹果AirPower总是跳票的原因找到了?或因商标被抢注
  7. 索尼中国官微吐槽年假被狗吃了 官方称系统故障 理解孩子
  8. 女儿是程序员爸爸的小棉袄,礼物太暖心
  9. R40 gpio 使用【原创】
  10. U-Boot提供的命令【整理】