When the input image is of dimension 256 256 3..... I will use the command rgb2gray to make it as 2D image to work it out. Whether this procedure is correct?
yes, you can convert color image to gray scale image, and gray scale image is 2-D image.
Yes, you can do that, though it is often not the way to get the best possible gray scale image. You can do this:
% Extract the individual red, green, and blue color channels. redChannel = rgbImage(:, :, 1); greenChannel = rgbImage(:, :, 2); blueChannel = rgbImage(:, :, 3); grayImage = rgb2gray(rgbImage);
and use imshow on each of those to find out which gives you the best contrast, or whatever it is that you think would give you the best image. Or even better, use Principal Components Analysis (PCA) to find out the best combination of those color channels to give you the combination to get you a good signal along the optimal direction in the 3D color gamut space.
Or even better is to show us your image and tell us what you want to measure or enhance in the image. Perhaps you don't want to throw away all your color information at all. Maybe you can use the color information to your advantage. I can't tell unless I see your image. I do this stuff all day for a living, as you might guess from my icon.