第二周作业:matlab实现图像的灰度图像、灰度图像直方图及彩色图像中的像素值进行点运算变换

第二周作业

第一题:

在文件夹选择一张照片、用一个窗体的三个子窗体分别显示该图像的彩色图像、灰度 图像、及灰度图像的直方图。

代码:

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('灰度图像直方图')

运行结果:

在这里插入图片描述

第二题:

编写程序将彩色照片中所有满足如下条件的像素值进行点运算变换
在这里插入图片描述
代码:

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