Summation of specific range of 2d array

I have a grayscale image image named tumour.
I need to find the area where the intensity is greater than 0.
I have another variable outline showing the outline of original image.
G1 is an empty array.
To find it properly, I have used this code:
for i=1:200
for j=1:200
if((outline(i,j)>0) && sum(sum(tumor(i-5,j-5),tumor(i+5,j+5)))>0)
G1(i,j)=255;
end
end
end
I want to get the outline of only the tumour.
However, I am getting this error (in the sum() part) and I am unable to solve it:
Error using sum
Dimension argument must be a positive integer scalar, a vector of unique positive integers, or 'all'.

 Accepted Answer

Mehmed Saad
Mehmed Saad on 12 May 2020
Edited: Mehmed Saad on 12 May 2020
I donot understand what you are trying to do in the code. There are much simpler ways to do it.
By looking in your code i think the error is occuring because your for loop index starts from i=1 and ends at i= 200. When you access i-5 or j-5 it will give error because you are indexing negative values to tumor. SImilarly when your loop reaches end it will try to access 200+5 which is out of bound. So run you for loop from
i=1+5:200-5
&
j=1+5:200-5
Edit:
(tumor(i-5,j-5),tumor(i+5,j+5))
and i think what you are intended to do in this line is accessings tumor's i-5th to i+5th index and j-5th to j+5th index( i.e. total 11x11 elements) . AM i right?

3 Comments

I basically wish to get the sum of block of 10x10 cells. I wish to then check if the sum of this entire block is greater than 0.
Also, I tried editing the code as you said, but it showed no change in the error.
Thank you for helping me.
Mehmed Saad
Mehmed Saad on 12 May 2020
Edited: Mehmed Saad on 12 May 2020
Try to generate 10x10 array from tumor For example tumor(1:10,1:10)
Now try to index it in two for loops of yours such that index doesnot exceed tumor dimension
Meenal Shah
Meenal Shah on 13 May 2020
Edited: Meenal Shah on 13 May 2020
Thank you so much. It worked when I tried doing that.
Hope you stay safe.

Sign in to comment.

More Answers (0)

Products

Release

R2019b

Asked:

on 12 May 2020

Edited:

on 13 May 2020

Community Treasure Hunt

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

Start Hunting!