图像的基本表示方法
包含二值图像(二值图像是指仅仅包含黑色和白色两种颜色的图像,本文不细讲),灰度图像(本文不细讲),彩色图像。
彩色图像:
相比二值图像和灰度图像,彩色图像是更常见的一类图像,它能表现更丰富的细节信息。
神经生理学实验发现,在视网膜上存在三种不同的颜色感受器,能够感受三种不同的颜色:红色、绿色和蓝色,即三基色。自然界中常见的各种色光都可以通过将三基色按照一定的比例混合构成。除此以外,从光学角度出发,可以将颜色解析为主波长、纯度、明度等。从心理学和视觉角度出发,可以将颜色解析为色调、饱和度、亮度等。通常,我们将上述采用不同的方式表述颜色的模式称为色彩空间,或者颜色空间、颜色模式等。
虽然不同的色彩空间具有不同的表示方式,但是各种色彩空间之间可以根据需要按照公式进行转换。这里仅仅介绍较为常用的RGB色彩空间。
在RGB色彩空间中, 存在R(red, 红色) 通道、G(greenn,绿色) 通道和B(blue, 蓝色)通道,共三个通道。每个色彩通道值的范围都在 [0,255] 之间我们用这三个色彩通道的组合表示颜色。
(来自《OpenCV轻松入门》)
一般情况下, 在RGB色彩空间中,图像通道的顺序是R→G→B,即第1个通道是R通道,第2个通道是G通道,第3个通道是B通道。需要特别注意的是, 在OpenCV中, 通道的序是B→G一R,即:
- 第1个通道保存B通道的信息。
- 第2个通道保存G通道的信息。
- 第3个通道保存R通道的信息。
像素处理
废话不多说,直接上代码感受
import cv2
import numpy as np
img = np.zeros((8,8),dtype=np.uint8)
print("img=\n",img)
cv2.imshow("ong",img)
print("读取像素点img[0,3]=",img[0,3])
img[0,3]=255
print("修改后img=\n",img)
print("读取修改后的像素点img[0,3]=",img[0,3])
cv2.imshow("two",img)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果如下:
可以看到第一行第四个像素点从黑色换到了白色。
也许我们可以替换图片中的特定颜色
(来自课后作业)
@Fu Xianjun. All Rights Reserved.