当我们对图像进行几何处理时候,有两种方法: 一、 我们在模块间加 up sample or down sample 这时候我们不需要进行对 system generator 和 getwayIn 的采样周期进行修改,只需要在 DestImage1D 转 DestImage2D 时候进行数据长宽进行相应的修改即可。 二、 不加 up sample or down sample 有两种情况: 1. 第一种: 采样跟系统采样时钟是一样的。 也就是 getwayIn 里设置的采样时钟为1,这时候,我们将二维图像数字可以直接转换为一维数组。 code: %读取图像数据 SourceImage2D = imread('coins.png'); %获取图像的长宽 ImageWidth = size(SourceImage2D, 2); ImageHeight = size(SourceImage2D, 1); %将二维图像转换为一维图像 SourceImage1D = reshape(SourceImage2D, 1, ImageWidth*ImageHeight); % 这里直接将二维数组转换为一维数组 %将图像格式转换为 Workspace 需要的格式 SourceImage1D = [ double(0:ImageWidth*ImageHeight-1)', double(SourceImage1D)']; % 这里需要将数据类型强制转换为 double ,而且为列向量 2. 第二种情况: 采样跟系统采样时钟不一样。 也就是 getwayIn 里设置的采样时钟为 1/2 时候,这时候 system generator 里的采样时钟也必须最大为 1/2, 这时候我们必须将数组先转置,然后再进行变换,因为矩阵索引是列排序 %%%%%%%%%%%%%%% 矩阵的索引是列排序的 %%%%%%%%%%%%%%%%%%% >> a = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]; >> a a = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 >> a(2) ans = 5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%% 多次采样 %%%%%%%%%%%%%%%%%%%%%%% SourceImage2D = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]; >> SourceImage2D SourceImage2D = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %获取图像的长宽 ImageWidth = size(SourceImage2D, 2); ImageHeight = size(SourceImage2D, 1); %将二维图像转换为一维图像 SourceImage1D = reshape(SourceImage2D', 1, ImageWidth*ImageHeight); %将图像格式转换为 Workspace 需要的格式 SourceImage1D = [ double(0:ImageWidth*ImageHeight-1)', double(SourceImage1D)']; >> SourceImage1D SourceImage1D = 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 >> size(SourceImage1D) ans = 16 2 DestImage2D = reshape(DestImage1D(DesignLatency+1 : DesignLatency + ImageWidth * ImageHeight * 2 ), 2*ImageWidth, ImageHeight); %%%%%%%%%%%%%% DestImage2D = DestImage2D'; >> DestImage2D DestImage2D = 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 16 >> size(DestImage2D) ans = 4 8 >> DestImage1D DestImage1D = 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 >> size(DestImage1D) ans = 65 1
matlab对图像的 处理,MATLAB 对图像的几何处理 system generator
最新推荐文章于 2023-04-25 21:38:24 发布
本文介绍了在图像处理中如何进行一维与二维数组之间的转换,以及在不同采样周期下如何处理数据。讨论了两种方法:使用upsample或downsample操作,以及不使用这两种操作时,如何根据系统采样时钟调整图像数据。通过MATLAB代码展示了转换过程,并详细解释了采样时钟为1和1/2时的不同处理方式。
摘要由CSDN通过智能技术生成