在MATLAB中填充图像
image
image-processing
matlab
6
0

我有一个尺寸为61x56的图像,我想将该图像填充为尺寸392x392。

我正在尝试使用padarray但是由于我获得了非整数值,因此无法执行此操作。谁能帮我这个。非常感谢!我已附上我想在下面做的事情。

K = imread('test.jpg');
K = rgb2gray(K);
[m n] = size(K);
p = 392;
q = 392;
K_pad = padarray(K, [(p-m)/2 (q-n)/2], 'replicate');
参考资料:
Stack Overflow
收藏
评论
共 2 个回答
高赞 时间 活跃

这是不使用padarray进行填充的另一种方法。

imgSize=size(img); %#img is your image matrix
finalSize=392;   
padImg=zeros(finalSize);

padImg(finalSize/2+(1:imgSize(1))-floor(imgSize(1)/2),...
    finalSize/2+(1:imgSize(2))-floor(imgSize(2)/2))=img;
收藏
评论

您可以将padarray指令分为两个调用:

K_pad = padarray(K, [floor((p-m)/2) floor((q-n)/2)], 'replicate','post');
K_pad = padarray(K_pad, [ceil((p-m)/2) ceil((q-n)/2)], 'replicate','pre');

但是您可能想要检查图像角落中正在发生的事情,以查看是否可以处理您想做的事情。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号