image - 如何将几块图像组合成一张图像?
问题描述
我已将图像划分为 32x32 块。现在我想组合这些块来恢复原始图像。如何使用 matlab 做到这一点?
这是我用来将图像分成块的代码:
C=imread('lena.jpg');
C = rgb2gray(C);
C=imread('D1.gif')
x2=im2double(x1);
[m,n,k]=size(x2) % and m=n with 1 channel k=1
ImageSize=m*n;
BlockD=32;
BlockSize=BlockD*BlockD;
NoOfBlock=ImageSize/BlockSize;
SubB=zeros(BlockD,BlockD,NoOfBlock); %arrays of blocks.
X=zeros(BlockD,BlockD,NoOfBlock);
% important to convert uint8 to double when dialing with image.
% thats what ru asking for.
k=1;
for i=1:BlockD:m
for j=1:BlockD:n
x(:,:,k)=x2(i:i+BlockD-1,j:j+BlockD-1);
k=k+1;
end
end
解决方案
推荐阅读
- python - 确定特定文件中元组中每个元素的 count = 0 - 如果为 0,则标记该元素
- three.js - 如何在不清除以前的渲染通道的情况下应用后处理 EffectComposer 渲染通道?
- javascript - 样式组件末尾的字符串是什么?
- javascript - onkeyup、onkeydown 和 onpaste 事件在 Android 设备上不起作用
- sql - 应用程序设计强制查询结构。查询从 Join 返回重复的结果。如何使用有限的选项修复结果集?
- r - R.Shiny 将输入转换为字符串
- sql - 计数不提供总值
- css - 在弹出表中滚动 tr/element
- cmake - CMake add_custom_command 因 bin/sh:1 失败:...未找到
- excel - 如何为多变量索引匹配公式创建 UDF