I want to calculate NDVI values using multispectral images that range from -1 to 1 using the formula (NIR-R)/(NIR+R). NIR means the image in Near-Infrared band and R means the image in Red band. I apologize if there is any mistake and I humbly ask for guidance.
Following is the images in RGB, Red, and Near-Infrared that I have converted to jpg so I could upload it here, the original type is TIF.
Below is the code that I used to compute these images :
R = imread('RED.TIF');NIR = imread('NIR.TIF');NDVI = (NIR-R) ./ (NIR + R); % [In this step I couldn't use / to compute, could you tell me why?]
NDVI = double(NDVI); % [Why the variable has to be changed to double type? Because if not the image couldn't be shown.]
colormap(jet); colorbar; impixelinfo;
Why is the NDVI variable only contain 0s and 1s? As the NDVI value should be ranging from -1 to 1 and I want the value to be in 2 digits after decimal. How can I improve the image processing as the green area of plants is missing in the final results? Do I need another methods to calculate it?
Thank you for your attention, sir.
Best Answer