opencv-python之图像的基本表示形式

图像的基本表现形式

图像的基本表现形式是像素值组成的矩阵。

二值图像

二值图像由纯黑、纯白两色组成。0代表纯黑,1代表纯白。

import cv2
import numpy as np

# 构建二值图像的矩阵
image=np.zeros((12,12))
image[1,[5,6]]=1
image[2,4:8]=1
image[3,3:9]=1
image[4,[2,3,4,7,8,9]]=1
image[5,[2,3,8,9]]=1
image[6,[2,3,8,9]]=1
image[7,2:10]=1
image[8,2:10]=1
image[9,[2,3,8,9]]=1
image[10,[2,3,8,9]]=1

# 自适应窗口
cv2.namedWindow("demo",cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO)

# 输出图像矩阵并显示图像
print(image)
cv2.imshow("demo",image)
key = chr(cv2.waitKey())
if key == "1":
    print("图像显示结束")
    cv2.destroyAllWindows()

在这里插入图片描述

# 二值图像矩阵

[[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0.]
 [0. 0. 0. 0. 1. 1. 1. 1. 0. 0. 0. 0.]
 [0. 0. 0. 1. 1. 1. 1. 1. 1. 0. 0. 0.]
 [0. 0. 1. 1. 1. 0. 0. 1. 1. 1. 0. 0.]
 [0. 0. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0.]
 [0. 0. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0.]
 [0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0.]
 [0. 0. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0.]
 [0. 0. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0.]
 [0. 0. 1. 1. 0. 0. 0. 0. 1. 1. 0. 0.]
 [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]

灰度图像

灰度图像依旧由黑、白两色组成,只不过引入了灰度的概念。0代表纯黑,255代表纯白,0-255之间的数值将颜色由纯黑向纯白过渡。

import cv2
import numpy as np

# 构建灰度图像的矩阵
image=np.array(range(256),dtype=np.uint8)

# 自适应窗口
cv2.namedWindow("demo",cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO).reshape(16,16)

# 输出图像矩阵并显示图像
print(image)
cv2.imshow("demo",image)
key = chr(cv2.waitKey())
if key == "1":
    print("图像显示结束")
    cv2.destroyAllWindows()

在这里插入图片描述

# 灰度图像矩阵

[[  0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15]
 [ 16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31]
 [ 32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47]
 [ 48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63]
 [ 64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79]
 [ 80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95]
 [ 96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111]
 [112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127]
 [128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143]
 [144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159]
 [160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175]
 [176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191]
 [192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207]
 [208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223]
 [224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239]
 [240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255]]

彩色图像

彩色图像相较于二值图像、灰度图像,蕴含着更多的颜色细节。

从神经生理学上看,人眼的视网膜上有红、绿、黄三种颜色感受器。而其他各种颜色都可以由这三种颜色混合得到。

从光学上看,颜色由主波长、纯度、明度等决定

从心理学和视觉上看,颜色由色调、饱和度、亮度等决定。

以上各种对颜色的解析方式,称为色彩空间。或称颜色空间、颜色模式等。

各种色彩空间之间可以通过公式互相转化。

RGB色彩空间

RGB色彩空间中,图像矩阵的每个位置的值,是一个3个数值组成的数组。从前往后依次代表该位置B(蓝色)、G(绿色)、R(红色)分量的值。我们称为B通道,G通道,R通道。三个通道的数值范围都是0-255。0代表无色,255代表纯色。

import cv2
import numpy as np
import random

# 构建RGB彩色图像图像的矩阵
image = np.random.randint(0,256,size=(8,8,3),dtype=np.uint8)

# 自适应窗口
cv2.namedWindow("demo",cv2.WINDOW_NORMAL|cv2.WINDOW_KEEPRATIO)

# 输出图像矩阵并显示图像
print(image)
cv2.imshow("demo",image)
key = chr(cv2.waitKey())
if key == "1":
    print("图像显示结束")
    cv2.destroyAllWindows()

在这里插入图片描述

# RGB彩色图像矩阵

[[[249 167 152]
  [203 129  80]
  [211  23 153]
  [169 252 236]
  [  9  51  49]
  [123  19 125]
  [134  20  79]
  [ 67  74  28]]

 [[180 190 218]
  [144  90 221]
  [  3 218 160]
  [188 253 247]
  [ 68 211 149]
  [204  96  46]
  [140  30  55]
  [187 110 143]]

 [[124  37 148]
  [  2 188 208]
  [ 30 141 231]
  [162 130 105]
  [129 175 204]
  [183  50 254]
  [180 160 180]
  [ 61 236 161]]

 [[175   9 129]
  [ 96  75 234]
  [  7 201 126]
  [210 103 100]
  [ 91  15   4]
  [ 92  20   3]
  [ 32 143  25]
  [222  95 102]]

 [[ 57 112  41]
  [215  48 158]
  [209 183 247]
  [165  19 225]
  [222  56 128]
  [230   7 218]
  [ 99 161 157]
  [ 27 202  17]]

 [[216  38 132]
  [247  89 123]
  [206  23 197]
  [184 215 228]
  [228  36 175]
  [141 180 124]
  [178 177 121]
  [173  79  25]]

 [[ 83 251 153]
  [203 128 129]
  [ 85  68 251]
  [ 23  73  70]
  [127  65  78]
  [183 148 119]
  [178 253 203]
  [251 118  93]]

 [[202  32  76]
  [ 53  97 116]
  [ 22 156 250]
  [212   5 236]
  [155 118  26]
  [106 214 244]
  [112 214 155]
  [187 184   1]]]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

木子希卡利

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

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

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

打赏作者

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

抵扣说明:

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

余额充值