Error while changing image bit depth in MATLAB
古いコメントを表示
I'm trying to convert RGB image with some bit depth to BMP image of bit depth 8. here is my code
a = imread('DSC01684_5.bmp');
[x,map] = rgb2ind(a,32);
imwrite(x,map,'C:\Documents and Settings\Home\Desktop \DSC01684_5.bmp.','bitdepth', 8);
and I'm getting error like
??? Error using ==> imformats>find_in_registry at 507
Format specifier must be a 1-D character array.
Error in ==> imformats at 114
varargout{1} = find_in_registry(fmts, varargin{1});
Error in ==> imwrite>get_format_from_filename at 550
fmt_s = imformats(ext);
Error in ==> imwrite at 389
format = get_format_from_filename(filename);
is the error in imwrite function or in changing bit depth?
However if i use
output_filename = 'C:\Documents and Settings\Home\Desktop\DSC01684_5.bmp.'
imwrite(x, map, output_filename, 'bmp', 'bitdepth', 8);
I'm getting error like
??? Error using ==> imagesci\private\writebmp
Too many input arguments
Error in ==> imwrite at 429
feval(fmt_s.write, data, map, filename, paramPairs{:});
採用された回答
その他の回答 (1 件)
Walter Roberson
2013 年 6 月 5 日
0 投票
'bitdepth' only applies to JPEG and PNG formats. There are no supported options for bmp files.
2 件のコメント
Chethan
2013 年 6 月 6 日
編集済み: Walter Roberson
2013 年 6 月 6 日
Walter Roberson
2013 年 6 月 6 日
imwrite() chooses the depth from the datatype in this situation. It only allows that automatic depth choice to be overridden via the 'bitdepth' option for JPEG and PNG
カテゴリ
ヘルプ センター および File Exchange で Convert Image Type についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!