Matlab: 空間領域のピクセル値のバイナリ変換
デジタル画像処理では、多くの場合、ピクセルの 10 進値を 2 進表現に変換する必要があります。Matlab は、この変換プロセスを実装するための迅速かつ簡単な方法を提供します。
以下は、グレースケール イメージ内のすべてのピクセルの 10 進数値をバイナリ形式に変換して表示する単純な Matlab プログラムです。
% 读取灰度图像
img = imread('lena_gray.jpg');
% 将图像转换为二进制格式
binaryImg = dec2bin(img);
% 显示二进制图像
imshow(binaryImg);
プログラムはまず、imread
関数を使用してグレースケール イメージを読み取り、それをimg
という名前の変数に保存します。次に、dec2bin
関数を使用してimg
すべてのピクセルの 10 進値をバイナリ形式に変換し、結果をbinaryImg
という名前の変数に保存します。最後に、imshow
関数を使用して画像をバイナリ形式で表示します。
imshow
この関数はグレースケールまたは RGB イメージのみを表示できるため、イメージをバイナリ形式に変換する前に、それがグレースケール イメージであることを確認する必要があることに注意してください。
変換されたバイナリ形式をファイルとして保存する場合は、次のコードを使用できます。
% 将二进制图像写入文件
fid = fopen('binaryImg.txt', 'wt');
for i = 1:size(binaryImg, 1)
fprintf(fid, '%s\n', binaryImg(i, :));
end
fclose(fid);
このコードは、変換されたバイナリ形式をbinaryImg.txt
という名前のテキスト ファイルに書き込みます。関数を使用しfopen
てファイル ポインターを作成し、次にループを使用してファイル内の各行を反復処理しbinaryImg
、fprintf
その関数を使用してファイルに書き込みます。最後に、fclose
関数を使用してファイル ポインターを閉じます。
上記は、Matlab で空域ピクセル値を 10 進数から 2 進数に変換する方法とコードです。お役に立てば幸いです。