构建自己的图像分类器之前需要了解图像是什么.
像素: 图像的元素
像素是图像的基本元素. 每个图像都由一组像素组成. 没有比像素更细的粒度.
通常像素是光的 "颜色" 或 "强度".
下图的分辨率为 1,000*750, 这意味着它是 1,000 像素宽 750 像素高. 我们可以将图像概念化为 (多维) 矩阵. 图片中总共有 1,000*750 = 750,000 像素.
image.PNG
大多数像素以两种方式表示:
1. 灰度 / 单通道
2. 颜色
在灰度图像中, 每个像素是 0 到 255 之间的标量值, 其中零对应为 "黑色",255 为 "白色".
image.PNG
彩色像素通常在 RGB 颜色空间中表示(其他颜色空间通常要转成 RGB).
image.PNG
黑色:(0, 0, 0)
红色:(255, 0, 0)
RGB 色彩空间的主要缺点包括:
• 不使用 "颜色选择器" 工具时表示颜色不直观
• 它不像人类看待颜色的方式.
image.PNG
image.PNG
图像坐标系统
OpenCV 和 scikit-image 用多维 NumPy 数组表示 RGB.
image.PNG
- import cv2
- image = cv2.imread("example.PNG")
- print(image.shape)
- cv2.imshow("Image", image)
- cv2.waitKey(0)
执行结果:
- $ python load_display.py
- (248, 300, 3)
像素访问
- (b, g, r) = image[20, 100] # accesses pixel at x=100, y=20
- (b, g, r) = image[75, 25] # accesses pixel at x=25, y=75
- (b, g, r) = image[90, 85] # accesses pixel at x=85, y=90
OpenCV 的存储顺序: Blue, Green, Red
技术支持 qq 群 144081101 591302926 567351477 钉钉免费群: 21745728
缩放
image.PNG
多数神经网络和卷积神经网络应用于图像任务分类要求固定大小的输入, 意味着你通过的所有图像的尺寸必须相同. 输入的宽度和高度图像尺寸的常见选择卷积神经网络包括 32*32,64*64,224*224,227*227,256*256 和 299*299.
image.PNG
来源: http://www.jianshu.com/p/c3258fc8e03d