I want to compute histogram for a tif image. But the regular histogram code does not accept my input. so please give me a solution
古いコメントを表示
[Edit - format code. AU]
originalImage = imread('3-mar-08.tif');
subplot(3, 3, 1);
imshow(originalImage);
>> set(gcf, 'Position', get(0, 'ScreenSize'));
>> drawnow;
>> [pixelCount grayLevels] = imhist(originalImage);
subplot(3, 3, 2);
bar(pixelCount); title('Histogram of original image');
xlim([0 grayLevels(end)]);
??? Error using ==> iptcheckinput
Function IMHIST expected its first input, I or X, to be
two-dimensional.
Error in ==> imhist>parse_inputs at 275
iptcheckinput(a,
{'double','uint8','logical','uint16','int16','single'}, ...
Error in ==> imhist at 57
[a, n, isScaled, top, map] = parse_inputs(varargin{:});
採用された回答
その他の回答 (1 件)
Jos (10584)
2014 年 2 月 27 日
Apparently your array originalImage is not 2D. You can probably see that
ndims(originalImage)
will return 3, suggesting that the image is in RGB format. You might be able to use RGB2IND to convert it.
[X, MAP] = rgb2ind(originalImage)
imhist(X, MAP)
2 件のコメント
sandhya chezhian
2014 年 2 月 27 日
Jos (10584)
2014 年 2 月 27 日
a clear case of RTFM ...
doc rgb2ind
カテゴリ
ヘルプ センター および File Exchange で Convert Image Type についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!