我想使用 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');