图像处理基础知识——图片存储形式、色域、图片文件格式

图像处理基础知识——图片存储形式、色域、图片文件格式

1.图片存储形式

对于任意一幕我们人眼看到的图像,在用相机镜头拍摄下来后,他就不再是我们人眼见到的图像了,而是在计算机内部的处理下形成了一个矩阵,一整张照片、图像,在计算机中是由一个一个像素点组成的。

在这里插入图片描述

对于这样一张128*128像素的图片,其实是由128行128列像素所组成的,每一个像素有自己的颜色,一整张图的形状就由这一个矩阵各像素不同颜色显示的效果形成了。

2.什么是色域

定义:在计算机图形学中,色域是指一个技术系统能够产生的颜色的范围总和,是颜色空间的某个完全的子集。

其实在当前的产品技术下,人眼的色域比大多数设备的色域都要宽广的多,不过这也不是技术限制,而是对于日常用的显示器等设备,如果所显示的颜色连人眼都看不到,那有这个颜色也完全是冗余。

人眼的色域所绘制的色度图,如下:

在这里插入图片描述

3.色彩标准的区分

刚刚提到了计算机在处理图像时,是将图像转化为一个个的像素点进行存储的,那么存储像素点的色彩必须具有一定的标准,这就是下面要讲的——色彩标准了。在计算机的发展进程中,色彩标准并不是一成不变的,恰恰相反,色彩标准分成了许多类。

色彩标准的演进史:

在这里插入图片描述

PS新建文件中可以选择颜色模式,其实和色彩标准的定义有点像

在这里插入图片描述

4.RGB模式

我们平时的图片一般都是以这种模式进行存储的,在显示器上显示,它所涵盖的意思也很简单。

  • 三原色

    • R:红色

    • G:绿色

    • B:蓝色

  • 像素表示形式

    • 每一个像素分别由R、G、B三个值进行表示,就像是光的叠加,彩色光叠加在一起就是白光。
    • (255,255,255)----->白色
    • (0,0,0)------>黑色
    • (255,0,0)------->纯红色
    • (255,255,0)------>纯黄色

在这里插入图片描述

5.CMYK模式

一般用于印刷,如果是RGB印刷会有色差。

  • 三原色

    • C:青色(Cyan)
    • M:洋红色(Magenta)
    • Y:黄色(Yellow)
  • 像素表现形式

    • 每一个像素分别由C、M、Y三个值进行表示。
    • CMY相加的结果实际得到的是深灰色
    • 必须再引入黑色

6.常见图片文件类型jpg,png,bmp,gif的区别
类型优点缺点相同图片大小比较背景能否透明
BMP无损压缩,图质最好文件太大,不利于网络传输152K不可以
GIF动画存储格式最多256色,画质差53K可以
PNG可保存透明背景的图片画质中等202K可以
JPG文件小,利于网络传输画质损失84K不可以
7.图片文件存储空间的计算——RGB形式为例

之前说了文件在计算机中是以一个个像素进行存储的,也讲了每一个像素是以RGB三种颜色进行存储的,那么他们占用的空间是多大呢?这就需要引入一个新的概念——

  • 位:计算机最小的存储单位,一位就是一个二进制码
  • 字节:一个字节就是8位

每个图片的存储往往有一个对应的存储位深度

在这里插入图片描述

一般图像都是以8位、16位、32位来进行存储的。

为了演示方便,我创建了一个纯黑16位,100*100像素的图片

在这里插入图片描述

我们用BMP格式进行存储(无损压缩),那么图片的大小应该就是:

(100×100×16÷8)= 20000 字节
在这里插入图片描述

而当我们用JPG格式进行存储时,他就会进行压缩:

由于图片是纯黑色的,颜色单一,所以压缩的比例也很大。
在这里插入图片描述

  • 12
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
在Matlab中进行色域筛选图片的操作可以通过以下步骤实现: 1. 读取图片:使用imread函数读取待处理的图片,并将其保存为一个图像矩阵。 2. 转换色彩空间:使用rgb2lab函数将RGB颜色空间转换为Lab颜色空间。这样做是因为Lab颜色空间可以更好地表示人类视觉系统对色彩的感知。 3. 设置筛选条件:根据需要筛选的颜色范围,设置合适的条件。在Lab颜色空间中,L表示亮度,a表示颜色的绿-红分量,b表示颜色的蓝-黄分量。可以根据具体需求设定合适的L、a、b值范围。 4. 进行筛选:将图像矩阵中的每个像素与设定的条件进行比较。符合条件的像素将保留,不符合条件的像素将被剔除。 5. 转换回RGB颜色空间:使用lab2rgb函数将筛选后的Lab图像矩阵转换回RGB颜色空间。 6. 显示和保存结果:使用imshow函数显示筛选后的图片,并使用imwrite函数保存结果。 以下是一个示例代码,用于筛选出红色和蓝色区域: ```matlab % 读取图片 image = imread('your_image.jpg'); % 转换色彩空间 labImage = rgb2lab(image); % 设置筛选条件 redRange = [0, 50]; % 红色范围 blueRange = [100, 150]; % 蓝色范围 % 进行筛选 filteredImage = labImage; filteredImage(:,:,2) = (filteredImage(:,:,2) >= redRange(1) & filteredImage(:,:,2) <= redRange(2)) | ... (filteredImage(:,:,2) >= blueRange(1) & filteredImage(:,:,2) <= blueRange(2)); filteredImage(:,:,3) = (filteredImage(:,:,3) >= redRange(1) & filteredImage(:,:,3) <= redRange(2)) | ... (filteredImage(:,:,3) >= blueRange(1) & filteredImage(:,:,3) <= blueRange(2)); % 转换回RGB颜色空间 filteredImage = lab2rgb(filteredImage); % 显示和保存结果 imshow(filteredImage); imwrite(filteredImage, 'filtered_image.jpg'); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图南zzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值