在matlabR2017a上运行ok。
盲卷积去模糊,提供了几张图片以供测试,有比较好的效果。
直接运行test_blind_deconv.m文件即可。
在test_blind_deconv.m中修改输入图片路径,在ms_blind_deconv.m文件中输出图片。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-27 20:21 blinddeconv_ok
文件 178213 2013-05-24 15:07 blinddeconv_ok1.jpg
文件 47109 2013-05-24 15:15 blinddeconv_ok2.jpg
文件 988 2011-06-28 00:41 blinddeconv_okcenter_kernel_separate.m
文件 3169 2011-05-26 09:49 blinddeconv_okfast_deconv_bregman.m
文件 59141 2011-05-26 03:09 blinddeconv_okfishes.jpg
文件 3957468 2011-05-26 03:09 blinddeconv_oklyndsey.tif
文件 5939 2019-01-04 10:25 blinddeconv_okms_blind_deconv.m
文件 142355 2011-05-26 03:09 blinddeconv_okmukta.jpg
文件 50268 2018-11-22 10:14 blinddeconv_okoriginal.PNG
文件 448 2011-02-03 21:30 blinddeconv_okpcg_kernel_core_irls_conv.m
文件 2194 2011-05-26 09:54 blinddeconv_okpcg_kernel_irls_conv.m
文件 1489716 2011-05-26 03:09 blinddeconv_okpietro.tif
文件 725 2011-06-28 01:41 blinddeconv_okREADME.txt
文件 6074 2011-01-30 03:04 blinddeconv_oksolve_image_bregman.m
文件 3385 2011-06-28 00:49 blinddeconv_okss_blind_deconv.m
文件 1920 2018-11-27 20:21 blinddeconv_ok est_blind_deconv.m
文件 3700 2018-11-26 20:26 blinddeconv_okX.jpg
文件 3687 2013-05-24 15:04 blinddeconv_okzhang.jpg
function [x y k] = center_kernel_separate(x y k)
%
% Center the kernel by translation so that boundary issues are mitigated. Additionally
% if one shifts the kernel the the image must also be shifted in the
% opposite direction.
% get centre of mass
mu_y = sum([1:size(k 1)] .* sum(k 2)‘);
mu_x = sum([1:size(k 2)] .* sum(k 1));
% get mean offset
offset_x = round( floor(size(k 2) / 2) + 1 - mu_x );
offset_y = round( floor(size(k 1) / 2) + 1 - mu_y );
fprintf(‘CenterKernel: weightedMean[%f %f] offset[%d %d]
‘ mu_x-1 mu_y-1 offset_x offset_y);
% make kernel to do translation
shift_kernel = zeros(abs(offset_y * 2) + 1 abs(offset_x * 2) + 1);
shift_kernel(abs(offset_y) + 1 + offset_y abs(offset_x) + 1 + offset_x) = 1;
% shift both image and blur kernel
kshift = conv2(k shift_kernel ‘same‘);
k = kshift;
xshift = conv2(x flipud(fliplr(shift_kernel)) ‘same‘);
x = xshift;
yshift = conv2(y flipud(fliplr(shift_kernel)) ‘same‘);
y = yshift;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-27 20:21 blinddeconv_ok
文件 178213 2013-05-24 15:07 blinddeconv_ok1.jpg
文件 47109 2013-05-24 15:15 blinddeconv_ok2.jpg
文件 988 2011-06-28 00:41 blinddeconv_okcenter_kernel_separate.m
文件 3169 2011-05-26 09:49 blinddeconv_okfast_deconv_bregman.m
文件 59141 2011-05-26 03:09 blinddeconv_okfishes.jpg
文件 3957468 2011-05-26 03:09 blinddeconv_oklyndsey.tif
文件 5939 2019-01-04 10:25 blinddeconv_okms_blind_deconv.m
文件 142355 2011-05-26 03:09 blinddeconv_okmukta.jpg
文件 50268 2018-11-22 10:14 blinddeconv_okoriginal.PNG
文件 448 2011-02-03 21:30 blinddeconv_okpcg_kernel_core_irls_conv.m
文件 2194 2011-05-26 09:54 blinddeconv_okpcg_kernel_irls_conv.m
文件 1489716 2011-05-26 03:09 blinddeconv_okpietro.tif
文件 725 2011-06-28 01:41 blinddeconv_okREADME.txt
文件 6074 2011-01-30 03:04 blinddeconv_oksolve_image_bregman.m
文件 3385 2011-06-28 00:49 blinddeconv_okss_blind_deconv.m
文件 1920 2018-11-27 20:21 blinddeconv_ok est_blind_deconv.m
文件 3700 2018-11-26 20:26 blinddeconv_okX.jpg
文件 3687 2013-05-24 15:04 blinddeconv_okzhang.jpg
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)