相关疑难解决方法(0)

MATLAB - 合并子矩阵

我正在MATLAB中开展一个图像处理项目.为了更容易地预处理图像,我将其划分为行和列,因此从原始图像(2D uint8矩阵)开始,现在我有一个3D矩阵,就像堆栈一样.

图像分解

处理完每个块之后,我想再次重新构图.问题是行数和列数是动态的,所以我不能使用(或者不知道如何在这里使用它)cat命令或[firstsubmatrix secondsubmatrix]语法.

顺便说一句,我这样做了这个部门:

numRows = 3
numCols = 3
blockHeight = originalHeight / numRows;
blockWidth = originalWidth / numCols;

blocks = uint8(zeros(numCols * numRows, blockHeight, blockWidth));
Run Code Online (Sandbox Code Playgroud)

因此,对于每个块,我使用填充其内容

y0 = (row - 1) * rowHeight + 1;
y1 = row * rowHeight;
x0 = (col - 1) * rowWidth + 1;
x1 = col * rowWidth;

blocks(numBlock, :, :) = originalImage(y0:y1, x0:x1);
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法,以及任何方式使块加入?

matlab image-processing matrix

6
推荐指数
1
解决办法
1878
查看次数

在Matlab中是否可以替代blockproc?

我一直在使用blockproc块状处理图像.不幸的是,它blockproc是图像处理工具箱的一部分,我个人电脑上没有.

基础Matlab中是否有可以替代的功能组合blockproc


我最初的猜测是用于im2col将每个块转换为列,然后arrayfun处理每个列.然后我意识到这im2col也是图像处理工具箱的一部分,所以这不能解决我的问题.

matlab image-processing matrix

5
推荐指数
1
解决办法
3388
查看次数

标签 统计

image-processing ×2

matlab ×2

matrix ×2