original_img=imread('original_image.bmp');
mask_img=imread('mask_image.bmp');
distorted_img=imread('distorted_image.bmp');
%masked pixels index (rows, cols)
inds=find(mask_img==255);
[rows,cols]=ind2sub(size(mask_img),inds);
r_img=double(distorted_img(:,:,1));
%parameters
sweep_iter=20;
beta_min=0.001;
beta_max=0.02;
step=nthroot(beta_max/beta_min,sweep_iter);
%Gibbs sampler, red channel
errors=zeros(1,sweep_iter);
beta_i=beta_min;
for i=1:(sweep_iter+1)
for j=1:length(rows)
y=rows(j);
x=cols(j);
Ix_val=0.5*(r_img(y,x-1)+r_img(y,x+1));
Iy_val=0.5*(r_img(y-1,x)+r_img(y+1,x));
dx=Ix_val-(0:255);
dy=Iy_val-(0:255);
pdf=exp(-beta_i.*((dx).^2+(dy).^2));
cdf=cumsum(pdf);
I_val=find(cdf>cdf(end)*rand(),1)-1;
r_img(y,x)=I_val;
end
beta_i=beta_i*step;
end
construct_img=original_img;
construct_img(:,:,1)=uint8(r_img);
Err = check_Err(construct_img,original_img,rows,cols);
figure(1);imshow(original_img); title('原始图像'); %显示原图像
figure(2);imshow(mask_img); title('受损图像'); %显示受损图像
figure(3);imshow(construct_img); title('Gibbs算法修复结果');
没有合适的资源?快使用搜索试试~ 我知道了~
Gibbs算法彩色图像修复Matlab代码.zip
共6个文件
m:3个
bmp:3个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 95 浏览量
2024-03-18
16:02:29
上传
评论
收藏 832KB ZIP 举报
温馨提示
1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
资源推荐
资源详情
资源评论
收起资源包目录
Gibbs算法彩色图像修复Matlab代码.zip (6个子文件)
Gibbs算法彩色图像修复Matlab代码
check_Err.m 536B
original_image.bmp 637KB
mask_image.bmp 214KB
Gibbs.m 755B
distorted_image.bmp 637KB
Gibbs_sampler.m 1KB
共 6 条
- 1
资源评论
Matlab科研辅导帮
- 粉丝: 1w+
- 资源: 7491
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功