位图每一个方格代表一个像素,而计算机会将被一个方格数字化成一个数值,如“位深度”为8(bit),代表将每一个方格数字化为[0,255]之间的unchar类型数字,即用256个数字来衡量灰度的深浅。或者RGB三维矩阵。
- 将灰度图转换成Mat (c++法)
(flags=IMREAD_GRAYSCALE;winname:窗口名字)
Mat imread(const string\& filemame, int flags=1)
void imshow(const string\& winname,InputArray mat)
- 将灰度图转换为ndarray (python法)
import sys
import cv2
import numpy as np
if __name__=="__main__":
if len(sys.argv)>1: #sys.argv ☞命令行输入的内容
img=cv2.imread(sys.argv[1],cv2.CV_LOAD_GRAYSCALLE)
else:
print"image"
cv2.imshow('rutu',img)
cv2.waitKEY(0)
cv2.destroyALLWindows()t
- 彩色图转换
基本原理同上