Is it possible to obtain the bilateral symmetry of an binary image?
An example of the type of result that I search:
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)
As @user2999345 proposes
% 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)
As it is MATLAB and it is always better to learn what goes inside the functions; you can see how those functions works:
sym1 = x(:,end:-1:1) ; % acts like fliplr, arrange columns
sym2 = x(end:-1:1,:) ; % acts like flipud, arrange rows
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.