4.2 Opencv Python基本使用

读取并显示图像

  • 需要了解: NumPy对数组矩阵的操作 处理的图片为:

1.在使用Opencv for python之前需要导入库:

import cv2

2.读取并显示图像

过程:

  • 1.从路径读取图片(目前python支持的图片格式有:bmp、jpg、png、tif);

  • 2.创建一个窗口;

  • 3.在窗口显示读取的图片;

  • 4.使用opencv中的waitkey(0)暂停

  • 5.最后“毁”数据----释放窗口

    其代码:

import cv2 
img = cv2.imread("G:\\python project\\cat.jpg") #路径读取图像
cv2.namedWindow("Image")                        #创建窗口
cv2.imshow("Image", img)                        #显示图像
cv2.waitKey (0)                                 #暂停
cv2.destroyAllWindows()                         #“释放窗口

运行结果:

创建复制图像以及保存图像

  • 创建图像 需要用到Numpy函数进行 :
emptyImage = np.zeros(img.shape, np.uint8)
  • 复制图像

直接:

emptyImage2 = img.copy();

间接:

emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

间接因为其转换了成灰色图像

  • 保存图像
cv2.imwrite("G:\\python project\\cat_copy.jpg", img)

imwrite()有三个参数,如例子:

cv2.imwrite("G:\\python project\\testcat\\cat2.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 5])
cv2.imwrite("G:\\python project\\testcat\\cat3.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
cv2.imwrite("G:\\python project\\testcat\\cat.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])
cv2.imwrite("G:\\python project\\testcat\\cat2.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])

imwrite()第三个参数是针对图像特定格式,如JPEG、PNG

    1.对于JPEG,其表示的是图像的质量,用0-100的整数表示,默认为95。 注意,cv2.IMWRITE\_JPEG\_QUALITY类型为Long,必须转换成int

    2.对于PNG,第三个参数表示的是压缩级别。cv2.IMWRITE\_PNG\_COMPRESSION,从0到9,压缩级别越高,图像尺寸越小。默认级别为3

完整代码:

import cv2
import numpy as np
img = cv2.imread("./cat.jpg")
emptyImage = np.zeros(img.shape, np.uint8)
emptyImage2 = img.copy()
emptyImage3=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
#emptyImage3[...]=0
cv2.imshow("EmptyImage", emptyImage)
cv2.imshow("Image", img)
cv2.imshow("EmptyImage2", emptyImage2)
cv2.imshow("EmptyImage3", emptyImage3)
cv2.imwrite("G:\\python project\\testcat\\cat2.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 5])
cv2.imwrite("G:\\python project\\testcat\\cat3.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), 100])
cv2.imwrite("G:\\python project\\testcat\\cat.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 0])
cv2.imwrite("G:\\python project\\testcat\\cat2.png", img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])
cv2.waitKey (0)
cv2.destroyAllWindows()

运行结果:

找到路径,查看保存的图像:原创自:http://blog.csdn.net/sunny2038/article/details/9057415(作者:sunny2038)

results matching ""

    No results matching ""