数字图像处理——二值、灰度和彩色图像,位图切割

发布时间:2024-11-28 04:28

数字图形和图像处理的基础技巧 #生活技巧# #工作学习技巧# #数字技能训练#

二值、灰度和彩色图像处理 1. 二值、灰度图像的转换2. 彩色图像的表示3. 位图切割

——————————————————————————
——————————————————————————

图像:用二维函数f(x,y)表示,f(x,y)是点(x,y)的幅值。

灰度级:0~255 ==》256个灰度级层次:图像实际拥有灰度级的数量对比度:灰度反差的大小 二值图像(binary image):图像上的每一个像素只有两种可能的取值或灰度等级状态。每个像素只需要1Bit就可以完整存储信息灰度图像:灰度图只包含一个通道的信息,每个采样像素需要8位存储信息。f(x,y)取值在0~255彩色图像:3个f(x,y) 每个像素通常是由红(R)、绿(G)、蓝(B)三个分量来表示的,分量介于(0,255)。

1. 二值、灰度图像的转换

matlab代码:

%原图 data = imread('lena.jpg'); %读取lena.jpg图片 subplot(221); %两行两列的画布上,这个图象在第一个位置 %subplot(2,2,[1 3]) 占1和3的位置(不对称图案) imshow(data); %显示图片 %灰度图 gdata = rgb2gray(data); %灰度化处理 subplot(222); imshow(gdata); %二值图 n = graythresh(gdata); %获得一个合适的阈值 阈值取值范围【0,1】 bw = im2bw(data, n); %将灰度图像转变成二进制图像bw subplot(223); imshow(bw);

12345678910111213141516

结果图:
在这里插入图片描述

2. 彩色图像的表示

彩色RGB图像用三维数组表示,最后一维长度为3(1,2,3分别表示RGB三个分量),对于每一个分量,数值范围也是0~255。红、绿、蓝三个通道的缩略图,都是以灰度显示的,用不同的灰度色阶来表示“ 红,绿,蓝”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255,0表示亮度最低,255表示亮度最亮。只有三个通道同时有值才可以显示出彩色(如红色通道显示为红色)。

image = imread('lennacolor.png'); image_r=image(:,:,1); image_g=image(:,:,2); image_b=image(:,:,3); zero=zeros(512,512); %生成512*512全零矩阵 R=cat(3,image_r,zero,zero); %将输入的3个数组image_r,zero,zero按照数组维度3连接起来 G=cat(3,zero,image_g,zero); B=cat(3,zero,zero,image_b); RGB=cat(3,image_r,image_g,image_b); subplot(2,2,1),imshow(R),title('Red component'); subplot(2,2,2),imshow(G),title('green component'); subplot(2,2,3),imshow(B),title('blue component'); subplot(2,2,4),imshow(RGB),title('original image'); 12345678910111213

在这里插入图片描述

F = imread('lennacolor.png'); subplot(2,2,1),imshow(F(:,:,1)),title('红色分量'); subplot(2,2,2),imshow(F(:,:,2)),title('绿色分量'); subplot(2,2,3),imshow(F(:,:,3)),title('蓝色分量'); subplot(2,2,4),imshow(F),title('RGB'); 12345

在这里插入图片描述

3. 位图切割

由于灰度级L=2^k,是由2的次方构成,每个像素值看作是由K个二进制数组成的。于是每个平面k-1,k-2,…,1,0 中的每一个像素值都等于该像素在该平面的项数值。

f=imread('lena.jpg'); g=double(f); L1=mod(g,2); L2=mat2gray(mod(g./2,2)); L3=mat2gray(mod(g./(2.^2),2)); L4=mat2gray(mod(g./(2.^3),2)); L5=mat2gray(mod(g./(2.^4),2)); L6=mat2gray(mod(g./(2.^5),2)); L7=mat2gray(mod(g./(2.^6),2)); L8=mat2gray(mod(g./(2.^7),2)); figure() subplot(3,3,1);imshow(L1),title('第一层'); subplot(3,3,2);imshow(L2),title('第二层'); subplot(3,3,3);imshow(L3),title('第三层'); subplot(3,3,4);imshow(L4),title('第四层'); subplot(3,3,5);imshow(L5),title('第五层'); subplot(3,3,6);imshow(L6),title('第六层'); subplot(3,3,7);imshow(L7),title('第七层'); subplot(3,3,8);imshow(L8),title('第八层'); subplot(3,3,9);imshow(f),title('原图');

1234567891011121314151617181920

在这里插入图片描述

网址:数字图像处理——二值、灰度和彩色图像,位图切割 https://www.yuejiaxmz.com/news/view/296110

相关内容

MATLAB图像处理(包括图像类型转换)
数字图像处理笔记一
三、数字图像处理之直方图规定化实例
图像预处理 ————灰度化
Photoshop图像处理::有路网
iPhonePS抠图教程:轻松打造完美图像效果
云彩图案CAD图
图片编辑
摄像头图片
AI 图像增强器:一键使模糊图片变清晰

随便看看