Matlab を使用して、8 ビット イメージのビット深度を 4 ビット、2 ビット深度に変更したいと考えています。ソース画像は 8 ビットの jpg ファイルです。png の 'BitDepth' パラメータを利用したかったので、最初に画像を png 形式に変換してみました。次に、このパラメーターを使用しようとしました。しかし、私はエラーが発生しています。また、Java ライブラリを使用した簡単な解決策があれば、私にとっては問題ありません。
function [] = changeBitDepth(path, depth)
clear all; close all;
clc;
A = imread(path);
imshow(A);
imwrite(A, '~/Desktop/football.png');
B = imread('~/Desktop/football.png');
imwrite(B, '~/Desktop/bitDepthChanged.png', 'BitDepth', depth);
imfinfo('~/Desktop/bitDepthChanged.png');