Matlab: 空間領域のピクセル値のバイナリ変換

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てファイル ポインターを作成し、次にループを使用してファイル内の各行を反復処理しbinaryImgfprintfその関数を使用してファイルに書き込みます。最後に、fclose関数を使用してファイル ポインターを閉じます。

上記は、Matlab で空域ピクセル値を 10 進数から 2 進数に変換する方法とコードです。お役に立てば幸いです。

おすすめ

転載: blog.csdn.net/CodeWG/article/details/132033439