gpt4 book ai didi

matlab - 有没有一种有效的方法可以在所有边上用零填充矩阵?

转载 作者:太空宇宙 更新时间:2023-11-03 20:12:14 26 4
gpt4 key购买 nike

我正在使用 Efros and Leung Algorithm 对图像执行纹理合成.我的目标是增加当前纹理图像的大小,为此,我想用零填充当前图像矩阵的所有边。

我目前的计划是给定大小为 MxN 的原始图像矩阵和 P 的所需增长大小:
(1) 创建大小为(M+2P)x(N+2P)的目标矩阵
(2) 设置target(i+P,j+P) = original(i,j)的值
(3) Run Efros 和 Leung

有没有一种方法可以消除 (1) 和 (2) 并仅对原始图像进行操作以在所有方向上用 P 零填充它?

最佳答案

如果您有权访问图像处理工具箱,则可以使用函数 PADARRAY :

imgPadded = padarray(img, [p p], 0, 'both');

否则你可以简单地使用矩阵索引:

sz = size(img);
imgPadded = zeros([sz(1:2)+2*p size(img,3)], class(img));
imgPadded((1:sz(1))+p, (1:sz(2))+p, :) = img;

这应该适用于灰度和 RGB 图像。

关于matlab - 有没有一种有效的方法可以在所有边上用零填充矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8287289/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com