欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

9.2 图像类型(灰度图像、彩色图像、二值图像以及图像间的转换)

发布时间:2025/4/16 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 9.2 图像类型(灰度图像、彩色图像、二值图像以及图像间的转换) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

常用0表示黑色,255表示白色,用0到255之间的数表示灰度

1、灰度图像

例1:生成一个灰色图像,并显示

A = [0 230; 255 60; 30 100]; A = uint8(A); imshow(A); %图像显示为如图1所示 imshow(A, 'initialMagnification','fit') ; %将图像以最合适的方式显示,如图2所示


2、彩色图像
每个像素都是由R、G、B分量构成的图像,其中R、G、B是由不同的灰度级来描述的

例2:生成一个彩色图像并显示

clear clc close R = [255 30 230;255 0 100;0 200 0]; G = [0 80 220;255 255 50;0 35 0]; B = [0 200 15;255 0 190;0 70 255]; RGB(:,:,1) = R; %R作为RGB 的第一个通道 RGB(:,:,2) = G; %G作为RGB 的第二个通道 RGB(:,:,3) = B; %B作为RGB 的第三个通道 RGB = uint8(RGB); %数据类型转为8位无符号数据类型 imshow(RGB,'initialMagnification','fit')

3、二值图像
每个像素由只有两种取值或灰度等级状态

例3:读取图像并转化为二值图像(黑白图像)bw. bmp,查看该图像的数据矩阵对二值图像进行取反操作,查看“ 黑白颠倒”的效果

I = imread('fish.png'); %读取原始图像 figure subplot(1,2,1); %子图1显示灰度图像 bw = im2bw(I); %转化为二值灰度图像 imshow(bw); subplot(1,2,2); %子图2显示与原来图像颜色相反的灰度图像 imshow(~bw);

4、图像类型间的转换
(1)im2bw函数
功能:将图像按照阈值转换为二值图像(可将所需要观察的位置找出来)。
格式:bw = im2bw(I,level)
其中,I为要转换的图像矩阵,bw为转换后的二值图像。level为阈值取值范围[0,1],默认为0.5。如果I中像素灰度值大于I*level,则该值变为1,否则为0。
(2)rgb2gray函数
功能:将彩色图像转换为灰度图像
格式:I = rgb2gray(rgb)
其中,rgb为待转换的彩色图像,I为转换后的灰度图像矩阵

例4:将图像转化为二值图像

I = imread('bantu.png'); subplot(1,3,1); imshow(I); %子图1显示原图 bw1 = im2bw(I,0.3); subplot(1,3,2); imshow(bw1); %子图2显示阈值为0.3的二值图像 bw2 = im2bw(I,0.5); subplot(1,3,3); imshow(bw2); %子图3显示阈值为0.5的二值图像


例5:将彩色图像转化为灰度图像

RGB = imread('xueren.png'); gray = rgb2gray(RGB); %得到灰度图! bw1 = im2bw(gray,0.3); %将灰度图转成二值图,阈值为0.3 bw2 = im2bw(gray,0.5); %将灰度图转成二值图,阈值为0.5 subplot(2,2,1), imshow(RGB); %显示原图片 subplot(2,2,2), imshow(gray); %显示转换后的灰度图片 subplot(2,2,3), imshow(bw1); %显示转换后阈值为0.3的二值图片 subplot(2,2,4), imshow(bw2); %显示转换后阈值为0.5的二值图片

总结

以上是生活随笔为你收集整理的9.2 图像类型(灰度图像、彩色图像、二值图像以及图像间的转换)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。