how to get gradient of an image
    5 views (last 30 days)
  
       Show older comments
    
hi im having a hyperspectral image and im trying to get the gradient operators of the horizontal and vertical directions but i can't any help? Thanks 
0 Comments
Accepted Answer
  Walter Roberson
      
      
 on 8 Apr 2013
        for band = 1 : size(X,3)
  [GX(:,:,band), GY(:,:,band)] = gradient(X(:,:,band));
end
Note you get out two matrices the same size as the original.
9 Comments
More Answers (2)
  Image Analyst
      
      
 on 25 Mar 2013
        The Image Processing Toolbox has imgradient() and imgradientxy() functions.
5 Comments
  Image Analyst
      
      
 on 8 Apr 2013
				
      Moved: DGM
      
      
 on 29 Dec 2023
  
			That does not make sense to me. In the lateral x,y direction you have units of "per pixel" but in the Z direction since the planes are different wavelengths, not distance in pixels, the gradient is not a spatial gradient. It would have units of "per wavelength". And you certainly wouldn't want a 3D gradient with spatial coordinates mixed with wavelength coordinates. It makes no sense, at least not to me.
See Also
Categories
				Find more on Hyperspectral Image Processing in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!