How to filter out annular data from square matrix

Have a square matrix...501 by 501...Z=501×501
Need to filter out an annular data 20 to 150 centered at (251,251)

 채택된 답변

Image Analyst
Image Analyst 2018년 7월 7일
See the FAQ for creating a circle:
Then to get row and column indexes for your matrix, simply round, making sure that x is the second dimension, not the first because arrays are indexes as array(y, x) NOT array(x,y)
rows = round(y);
columns = round(x);
for k = 1 : length(rows)
Z(rows(k), columns(k)) = 0; % Filter to have whatever value you want them to have.
end

댓글 수: 3

Thanks a lot Sir, it works like cream! Problem solved
A last help I shall request in this thread
I converted the image to pixel format as in figure. I have a 20x20 matrix of UU_avg (attached Excel file) I am also sharing the code which I use to plot..and the resultant image (png).
*However, the resultant plot (in the same enclosed word file) shows only 2 axes..the other two seems to be non-existent
Is there a way out?*
code:
im=surf(UU_avg,'EdgeColor','none','LineStyle','none');
view(-90,90);
xtick = [0, 2.5, 7.5, 10, 12.5, 17.5, 20];
ytick = [0, 2.5, 7.5, 10, 12.5, 17.5, 20];
xticklabels = {'-150','-100', '-50', '0','50', '100', '150'};
yticklabels ={'-150','-100', '-50', '0','50', '100', '150'};
set(gca, 'XTick', xtick);
set(gca, 'YTick', ytick);
set(gca, 'YTickLabel', yticklabels);
set(gca, 'XTickLabel', xticklabels);
hh=colorbar;
title(hh,'%','FontSize',14,'fontweight','bold');
set(gca,'FontSize', 14,'fontweight','bold');
set(gca,'Linewidth',3);
axis tight;
box on;
Looks fine to me
Probably a rendering issue. Look at the opengl() function and try some different things.
Thanks again Sir!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Bhowmik.U
Bhowmik.U 2018년 7월 7일

0 개 추천

Thanks for the suggestion..however I tried on similar lines but that yielded concentric boxes of data..rather than circles...

질문:

2018년 7월 7일

댓글:

2018년 7월 9일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by