如何在matlab中重新排列二值图像像素
How to rearrange the binary image pixel in matlab
目前我参与了一个项目,我有一个二进制(半色调)lena 图像,我在其中应用了下面的 "randperm" 函数来置换图像。
wm_image = reshape(halftoned(randperm(numel(halftoned))),size(halftoned));
现在,我想恢复原始半色调图像。
如果有人可以帮助编写 matlab 代码?
您需要保存随机排列才能"invert"它。
这样排列就完成了:
rp = randperm(numel(halftoned)); %// save the permutation
wm_image = reshape( hlaftoned( rp ), size(halftoned) );
以及重构
img(rp) = wm_image;
img = reshape( img, size(halftoned) );
解释 img(rp)=wm_image
:
假设您有 a
个 1×2 向量。命令
a = [4,5];
基本上把4赋给了a(1)
,5赋给了a(2)
,也就是
的简写
a([1,2]) = [4,5];
现在,您可以看到有一个映射告诉 Matlab 将右侧元素放在左侧矩阵中的什么位置。
您可以更改此映射:
a([2,1]) = [5,4];
结果相同 a
但处理方式不同。
希望这能解决问题。
目前我参与了一个项目,我有一个二进制(半色调)lena 图像,我在其中应用了下面的 "randperm" 函数来置换图像。
wm_image = reshape(halftoned(randperm(numel(halftoned))),size(halftoned));
现在,我想恢复原始半色调图像。 如果有人可以帮助编写 matlab 代码?
您需要保存随机排列才能"invert"它。
这样排列就完成了:
rp = randperm(numel(halftoned)); %// save the permutation
wm_image = reshape( hlaftoned( rp ), size(halftoned) );
以及重构
img(rp) = wm_image;
img = reshape( img, size(halftoned) );
解释 img(rp)=wm_image
:
假设您有 a
个 1×2 向量。命令
a = [4,5];
基本上把4赋给了a(1)
,5赋给了a(2)
,也就是
a([1,2]) = [4,5];
现在,您可以看到有一个映射告诉 Matlab 将右侧元素放在左侧矩阵中的什么位置。
您可以更改此映射:
a([2,1]) = [5,4];
结果相同 a
但处理方式不同。
希望这能解决问题。