加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Matlab把二维图像矩阵I分割成m*n的矩阵块

(2013-03-26 15:14:25)
标签:

matlab

图像处理

分类: 图像处理

function Divided_image = Divide_into_block(I,m,n)
%把二维图像矩阵I分割成m*n的矩阵块,当边界区域不足m*n时,用0填充
Divided_image_new = Divided_image_judge(I,m,n);
[line,row] = size(Divided_image_new);
Divided_image = mat2cell(Divided_image_new,ones(line/m,1)*m,ones(row/n,1)*n);
end

function Divided_image_new = Divided_image_judge(I,m,n)
%函数用来判断I矩阵是否可以被m*n整数划分,如果不能,则把矩阵边界扩充,扩充部分用0填充
%I表示输入矩阵;m*n表示分块大小
[line,row] = size(I);
rem_m = rem(line,m);
rem_n = rem(row,n);
if rem_m == 0 & rem_n == 0
    Divided_image_new = I;
else
    if rem_m > 0
        line_new =line+m-rem_m;
    end
    if rem_n > 0
        row_new = row+n-rem_n;
    end
    Divided_image_new = zeros(line_new,row_new);
    Divided_image_new(1:line,1:row) = I;
end
end

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有