1、基本的图片存储格式
在计算机中图片是以矩阵的形式存储在存储介质中的。
import numpy as np
import cv2
img=np.mat(np.zeros((300,300)),dtype=np.uint8)
img=cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
print(img)
cv2.imshow("test",img)
cv2.waitKey(0)
2、图像的读取与存储
imread和imwrite方法分别是OpenCV的读方法和写方法
(1)图像的读取:
import numpy as np
import cv2
image=cv2.imread("C:/Users/Mr.Ma/Desktop/1.jpg",cv2.IMREAD_GRAYSCALE)
cv2.imshow("test",image)
cv2.waitKey(0)
print(image)
(2)图像的写入
cv2.imwrite("writeimg.jpg",image)
将所读取的图片存储在当前目录下,这里传递了两个参数,第一个表示为图片的存储名称,并在存储的时候,图片的类型发生改变,由jpg格式改变为png类型存储,而第二个参数为内存中所要存储的目标
注意:在读取的同时,图片被自动读取为灰度图
3、图像的转换
在计算机中存储的时候,任何一个图片的存储都占有一定的空间,而为了减少图片的存储便于在有限的内存中更进一步地转换,对于每一个图片来说,可以通过Python自带地方法,将其转化为标准地一维 Python bytearray 格式。
使用方法:
imageByteArray=bytearray(image)
同样,bytearray 可以通过矩阵重构的方法还原为原本的图片矩阵,
imageBGR=np.array(imageByteArray).reshape(640,480)
4、使用Numpy模块对图像进行编辑
(1)通过对数组的操作修改图片的颜色
import numpy as np
import cv2
img=np.zeros((300,300))
img[200,150]=255
cv2.imshow("test",img)
cv2.waitKey(0)
(2)对生成的图片进行操作,画出横竖两条白线
import numpy as np
import cv2
img=np.zeros((300,300))
img[:,10]=255
img[10,:]=255
cv2.imshow("test",img)
cv2.waitKey(0)