*本文學(xué)習(xí)資源來自《TensorFlow深度學(xué)習(xí)應(yīng)用實踐》
一、基本的圖片存儲格式
Python以矩陣形式存儲和處理圖片。
如:通過Numpy創(chuàng)建一個長寬各300的矩陣,各個點的值為0:
這里img就是一個300*300,每個像素點都為黑色的圖片,可以使用OpenCV顯示:
cv2.imshow('test',img)cv2.waitKey(0)
生成圖像時,每個像素都是由一個8位的整數(shù)來表示,即每個像素值的范圍是0~255。
下面使用opencv的方法把一維圖片轉(zhuǎn)成三維RGB圖片:
二、圖像的讀取與存儲
OpenCV對基本類型的圖片,提供imread和imwrite方法讀寫。
image = cv2.imread('test.jpg',cv2.IMREAD_GRAYSCALE)cv2.imwrite('test.png',image)
三、圖像的轉(zhuǎn)換
把圖片轉(zhuǎn)成一維的Python bytearray格式:
bytearray也可以通過矩陣重構(gòu)的方法還原為原本的圖片矩陣:
imageBGR = np.array(imageByteArray).reshape(300,300)
四、使用NumPy對圖像進(jìn)行編輯
示例:修改圖片的顏色
運行示例:
示例:對一行或一列進(jìn)行操作
# -*- coding:utf-8 -*-import cv2import numpy as npif __name__ == '__main__': img = np.zeros((300, 300)) img[:, 10] = 255 img[10, :] = 255 cv2.imshow('img', img) cv2.waitKey(0)