图像处理(1)- 灰度化、二值化

图像灰度化与二值化

灰度化

在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。

RGB图像转换为灰度图的公式为:(其中(i,j)为图像的坐标位置)
在这里插入图片描述

二值化

图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程。

灰度图转换为二值化图的公式为:(其中Threshold为设定的阈值)
在这里插入图片描述

MATLAB程序

MATLAB程序中打开的test.jpg文件可以自行选取任意一个图像。

clc
clear
close all
 
picture=imread('test.jpg');
 
% 读取原始图像的R、G、B值
picture_r=picture(:,:,1);
picture_g=picture(:,:,2);
picture_b=picture(:,:,3);
 
[M,N,C]=size(picture);
 
figure;
imshow(picture);
title('原始图像');
 
 
%% 灰度化
Gray_picture=uint8(zeros(M,N,C));
Gray_picture_r=uint8(zeros(M,N));
Gray_picture_g=uint8(zeros(M,N));
Gray_picture_b=uint8(zeros(M,N));
 
Gray_pixel=uint8(0);
for i=1:M
    for j=1:N
        Gray_pixel=0.299*picture_r(i,j) + 0.587*picture_g(i,j) + 0.114*picture_b(i,j);
        Gray_picture_r(i,j)=Gray_pixel;
        Gray_picture_g(i,j)=Gray_pixel;
        Gray_picture_b(i,j)=Gray_pixel;
    end
end
 
Gray_picture(:,:,1)=Gray_picture_r;
Gray_picture(:,:,2)=Gray_picture_g;
Gray_picture(:,:,3)=Gray_picture_b;
 
figure;
imshow(Gray_picture);
title('灰度化');
 
 
%% 二值化
Binary_picture=uint8(zeros(M,N,C));
Binary_picture_r=uint8(zeros(M,N));
Binary_picture_g=uint8(zeros(M,N));
Binary_picture_b=uint8(zeros(M,N));
 
Threshold=135;
Binary_pixel=uint8(0);
for i=1:M
    for j=1:N
        if(Gray_picture_r(i,j)>=Threshold)
            Binary_pixel=255;
        else
            Binary_pixel=0;
        end
        Binary_picture_r(i,j)=Binary_pixel;
        Binary_picture_g(i,j)=Binary_pixel;
        Binary_picture_b(i,j)=Binary_pixel;
    end
end
 
Binary_picture(:,:,1)=Binary_picture_r;
Binary_picture(:,:,2)=Binary_picture_g;
Binary_picture(:,:,3)=Binary_picture_b;
 
figure;
imshow(Binary_picture);
title('二值化');

运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值