宿題の2週目:matlabは、ポイント算術変換のために、グレースケール画像、グレースケール画像ヒストグラム、およびカラー画像のピクセル値を実現します。

2週目の宿題

最初の質問:

フォルダ内の写真を選択し、フォームの3つのサブフォームを使用して、カラー画像、グレースケール画像、およびグレースケール画像のヒストグラムを表示します。

コード:

clc,clear all
A = imread("D:/图片1.jpg");
figure(1)
subplot(1,3,1);
imshow(A)
title('彩色图像')
B = rgb2gray(A);
subplot(1,3,2);
imshow(B)
title('灰度图像')
subplot(1,3,3)
imhist(B)
title('灰度图像直方图')

演算結果:

ここに画像の説明を挿入します

2番目の質問:

次の条件を満たすカラー写真のすべてのピクセル値に対してポイント算術変換コードを実行するプログラムを作成します
ここに画像の説明を挿入します

clc,clear all
rgb = imread("D:/图片1.jpg");
R=rgb(:,:,1); %red
G=rgb(:,:,2); %green
B=rgb(:,:,3); %blue
[i,j,k]=size(rgb);
for x=1:i
    for y=1:j
        if( (R(x,y) > 150) && (G(x,y) >150) && (B(x,y) >150) )
            R(x,y) = 0;
            G(x,y) = 0;
            B(x,y) = 255;
        end
    end
end
for x=1:i
    for y=1:j
        A(x,y,1) = R(x,y);
        A(x,y,2) = G(x,y);
        A(x,y,3) = B(x,y);
    end
end
figure;
imshow(A)

演算結果:
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_44921056/article/details/114981416