OpenCV基本的图片读取

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)

 

猜你喜欢

转载自blog.csdn.net/mafang9601/article/details/83903151