*本文學(xué)習(xí)資源來自《TensorFlow深度學(xué)習(xí)應(yīng)用實(shí)踐》
一、基本的圖片存儲(chǔ)格式
Python以矩陣形式存儲(chǔ)和處理圖片。
如:通過Numpy創(chuàng)建一個(gè)長寬各300的矩陣,各個(gè)點(diǎn)的值為0:
這里img就是一個(gè)300*300,每個(gè)像素點(diǎn)都為黑色的圖片,可以使用OpenCV顯示:
cv2.imshow('test',img)cv2.waitKey(0)
生成圖像時(shí),每個(gè)像素都是由一個(gè)8位的整數(shù)來表示,即每個(gè)像素值的范圍是0~255。
下面使用opencv的方法把一維圖片轉(zhuǎn)成三維RGB圖片:
二、圖像的讀取與存儲(chǔ)
OpenCV對(duì)基本類型的圖片,提供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對(duì)圖像進(jìn)行編輯
示例:修改圖片的顏色
運(yùn)行示例:
示例:對(duì)一行或一列進(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)
聯(lián)系客服