How to use function 'ind2gray'
5 ビュー (過去 30 日間)
古いコメントを表示
I'm trying to convert uint8 image to grayscale image using the following command
a = imread('image.png'); % a dimension 18*24*3
b = ind2gray(a, map);
But I'm getting an error message saying
Undefined function or variable 'map'
0 件のコメント
採用された回答
Image Analyst
2016 年 7 月 10 日
You need to have some way to tell the function what color should get mapped to what gray level. The colors are a 2D array with columns for red green, and blue in the range 0-1, and one row for each gray level or range of gray levels. There are several built-in color maps to select from - see the help for colormap. For example you could do
rgbImage = ind2rgb(grayImage, jet(256));
colorbar;
jet() is a function that builds a colormap of a certain pattern with the number of gray levels you specify. There are others too. Or you could make up your own colormap completely customized.
2 件のコメント
Image Analyst
2016 年 7 月 10 日
Then image.png is an RGB image, not an indexed image. You have to convert it to a grayscale image somehow. There are a variaety of ways to do this and I don't know what method you want to use. For example, one way is to use rgb2gray():
indexedImage = rgb2gray(rgbImage);
Or you could take just one color channel, such as the green channel, which tends to be the least noisy:
indexedImage = rgbImage(:, :, 2);
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Red についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!