How to obtain and locate group of pixel value from .mat file

조회 수: 1 (최근 30일)
Karthik M
Karthik M 2021년 10월 1일
댓글: Karthik M 2021년 10월 7일
Hi Folks,
I have extracted chlorophyll from nc file attached
chlor_a max value 93.9236, chlor_a min value 0.0373
To identify and locate the number of pixels and its values which falls in particular grid
For example - I need to classify with pixel value interval with respective Lat [0 30] , Lon[30 100] (row and column) as shown and save in .csv/ .xls
range
0 - 2
2 - 4
4 - 6
6 - 8
8 - 10
10 - to the max
Thanks in advance
Kindly help
regards

채택된 답변

KSSV
KSSV 2021년 10월 1일
편집: KSSV 2021년 10월 1일
Read about logical indexing. Let C be your data.
idx = C >= 0 & C < 2 ;
c02 = C(idx) ;
idx = C >= 2 & C < 4 ;
c24 = C(idx) ;
Also with the same indices you can get respective lon and lat.
  댓글 수: 3
KSSV
KSSV 2021년 10월 1일
You need not to use ind2sub. Straight away use maxind.
Karthik M
Karthik M 2021년 10월 7일
Thanks in advance
I could get the indexed position of the rows and columns of max / index value data with the below code
maxval=max(data(:));
[xmax,ymax]=find(data==maxval);
[ii,jj]=find(data >= 0 & data < 2);
but I need only the exact x and y location coordinates
I have classify the the pixel range according to my requirement as below
idx = data >= 0 & data< 2 ;
pix1 = data(idx);
idx = data >= 2 & data < 4 ;
pix2 = data(idx) ;
idx = iwant >= 4 & iwant < 6 ;
pix3 = data(idx) ;
idx = data >= 6 & data < 8 ;
pix4 = data(idx) ;
idx = data >= 8 & data < 10;
pix5 = data(idx);
idx = data >= 10 & data < 15 ;
pix6 = data(idx) ;
idx = data >= 15 & data < 20 ;
pix7 = data(idx) ;
idx= data >= 20 & data < 95;
pix8 = data(idx);
Kindly help to get the exact x, y position of the group data

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by