clc,clear,close all
I_L=im2double(imread('.../imagesSoursAresult/lotus.bmp'));%把图像数据类型转换为double类型,双精度数据类型,输入文件路径防止不在同一个文件夹找不到图片
r=I_L(:,:,1);%红色通道数值,由三位数组成,把图像中红数据存储到矩阵r,三阶单位阵,对角线数值是1
g=I_L(:,:,2);%绿色通道
b=I_L(:,:,3);%蓝色通道
Y=0.299*r+0.587*g+0.114*b;
I=(r+g+b)/3;
figur,imshow(Y),title('亮度图Y');%窗口,显示,标题
imwrite(Y,'lotusY.jpg');%保存图片
figur,imshow(I),title('亮度图I');
imwrite(I,'lotus.jpg');
BW=zeros(size(Y));%创建一个全是0的矩阵,并且用size()来返回数据序列的行数和列数
BW(Y>0.3)=1;
figur,imshow(BW),title('二值化图');%窗口,显示二值化图,标题'二值化图'
imwrite(BW,'lotusBW');%输出保存
%也可以这样操作,(这部分注释掉了)
% RGB = imread('lotus.jpg');%导入彩色图
% imshow(RGB);%显示彩色图像
% RGB = mat2gray(RGB);
% R = RGB(:,:,1);
% G = RGB(:,:,2);
% B = RGB(:,:,3);
% x = size(RGB,1);
% y = size(RGB,2);
MATLAB处理成亮度图和二值化图参考代码
最新推荐文章于 2023-04-08 09:55:05 发布