将图像分成m×n的小子块

需求

在做实验的时候有这样的一个需求:将一幅图像分成m×n的子块,然后对每一个子块进行操作,最后将经过操作的子块合成原来一整幅图像。
这里我给出的m、n是正好被原图长宽整除的数。

clc;clear;close all;
img = im2double( imread('orginal_09.tif'));


[height,width,ch]=size(img);
m=200;  % 设定子块长宽
n=200;

count =1;
rebuild  = zeros(height,width,ch);
figure(1);
for i=1:height/m
    for j=1:width/n
        
        % 1) 分块
        block = img((i-1)*m+1:m*i,(j-1)*n+1:j*n,:); % 图像分成块
       
     
        % 2)对子块进行操作
        % ……
        subplot(3,3,count);imshow(block);title(['第',num2str(count),'幅子图像']);
        count = count+1;
        %  3)重建
        rebuild( (i-1)*m+1:m*i,(j-1)*n+1:j*n,: ) = block;% 合成一幅图像
      
        
    end
end

figure(2);imshow(rebuild);title('重建之后的图像');

实验结果

得到的实验结果图如下,因为我在子块操作这一步并未实现任何操作所以图像操作前后是不变的。
将各子块显示出来的结果如下:
在这里插入图片描述
重建之后的图像
在这里插入图片描述

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值