How to loop on a data cube of an image
显示 更早的评论
Hi, I'm trying to calculate gradient at each pixel in a data cube of an image an i'm getting this error "index out of bounds because size(X)=[280,307,191]."
Any help would be much appreciated Thank you
2 个评论
Walter Roberson
2013-4-7
We are going to need to see some of your code.
Rawan hamdi
2013-4-8
编辑:Walter Roberson
2013-4-8
采纳的回答
更多回答(2 个)
Walter Roberson
2013-4-8
You establish x, y, and bands according to the content of the noisy image, but then your triple nested for loop has you looping using those values as indices, such as in
for i = 1:1: x
Question: in your line
current_grad(i,j,k) = gradient(i,j,k);
is "gradient" the gradient function? If so then why are you applying the function to the indices i, j, k, rather than to the content of the image? And does it make sense to be applying the gradient function only to a point at a time?
8 个评论
Rawan hamdi
2013-4-8
Image Analyst
2013-4-8
Then why are you not using imgradient() or imgradientxy() on each spectral band?
Rawan hamdi
2013-4-8
Walter Roberson
2013-4-8
imgradient() is part of the Image Processing Toolkit. That toolkit is included with Student Version licenses but is not installed by default.
Image Analyst
2013-4-8
You must have a really old version. Does your license include upgrades? If so, do it.
Rawan hamdi
2013-4-8
Walter Roberson
2013-4-8
Which MATLAB version are you using? And are you using the Student license?
Image Analyst
2013-4-8
I cannot help you do the upgrade. You'll have to contact the Mathworks to do that.
Rawan hamdi
2013-4-8
编辑:Walter Roberson
2013-4-8
2 个评论
Walter Roberson
2013-4-8
You establish x, and y according to the content of the noisy image, but then your triple nested for loop has you looping using those values as indices.
Also, you are overwriting G in each iteration of the triple-nested loop.
Rawan hamdi
2013-4-8
类别
在 帮助中心 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!