创建图像的对称性
create a symmetry of an image
是否可以得到二值图像的双边对称性?
我搜索的结果类型示例:
x=[true false false;false true false;false true false;false true false;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false true false;false true false;false true false;false true false;false true false;false true false;false true false;true false false];
sym=[0 0 1; 0 1 0; 0 1 0; 0 1 0; 1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0; 1 0 0;1 0 0;1 0 0;1 0 0; 0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0 ; 0 1 0;0 0 1];
figure, subplot(121), imagesc(x)
subplot(122), imagesc(sym)
如@user2999345 所提议
% Data set
x=[true false false;false true false;false true false;false true false;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false true false;false true false;false true false;false true false;false true false;false true false;false true false;true false false];
% Flip array about vertical axis
F=fliplr(x);
figure
subplot (121), imagesc(x)
subplot (122), imagesc(F)
因为它是 MATLAB,所以最好了解函数内部的内容;你可以看到这些函数是如何工作的:
sym1 = x(:,end:-1:1) ; % acts like fliplr, arrange columns
sym2 = x(end:-1:1,:) ; % acts like flipud, arrange rows
是否可以得到二值图像的双边对称性?
我搜索的结果类型示例:
x=[true false false;false true false;false true false;false true false;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false true false;false true false;false true false;false true false;false true false;false true false;false true false;true false false];
sym=[0 0 1; 0 1 0; 0 1 0; 0 1 0; 1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0;1 0 0; 1 0 0;1 0 0;1 0 0;1 0 0; 0 1 0;0 1 0;0 1 0;0 1 0;0 1 0;0 1 0 ; 0 1 0;0 0 1];
figure, subplot(121), imagesc(x)
subplot(122), imagesc(sym)
如@user2999345 所提议
% Data set
x=[true false false;false true false;false true false;false true false;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false false true;false true false;false true false;false true false;false true false;false true false;false true false;false true false;true false false];
% Flip array about vertical axis
F=fliplr(x);
figure
subplot (121), imagesc(x)
subplot (122), imagesc(F)
因为它是 MATLAB,所以最好了解函数内部的内容;你可以看到这些函数是如何工作的:
sym1 = x(:,end:-1:1) ; % acts like fliplr, arrange columns
sym2 = x(end:-1:1,:) ; % acts like flipud, arrange rows