以下介绍一下重要的几个,设计基本 图片处理 的函数,依次来了解OpenCV的入门知识。具体的具体使用方法还是以官方的API【Official Tutorials】【Python-OpenCV】为准。
imread
图片读取函数。使用方法例如以下
# read image with color
img = cv2.imread("./lena.jpg")
# OR read gray image
imgGray = cv2.imread("./lena.jpg", 0)
# convert from BGR to GRAY
imgGray2 = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
- 第一个就是正常的读入一张图片;
- 第二个加一个flag值,如flag为0。则表示读入一个灰色的图片。相当于。读入正常带彩色通道的图片后。再转化一下。
imwrite
存取图片函数,使用方法例如以下
cv2.imwrite("gray.jpg", imgGray)
非常easy,直接文件名称,加你要存取的图片即可了。
对了,这里的imgGray类型,因为Python中没有类型声明,所以用了几天还不知道是个啥。特意去试了一下。用Python的交互界面,type(imgGray)会输出为 ‘numpy.ndarray’ 的类型。我个人理解,事实上就是图片的矩阵数组。
显示图片
以下的几个函数结合起来用,能够把一张图片显示出来
title = "gray image"
cv2.namedWindow(title, cv2.WINDOW_NORMAL)
cv2.imshow(title, imgGray)
cv2.waitKey(0)
cv2.destroyAllWindows()
- namedWindow() 是创建一个窗体。WINDOWS_NORMAL这个參数能够不加,可是加了能够使窗体能够调节大小。
- imshow() 不用说,显示图片用
- waitKey() 是让窗体暂停一下,等待用户输入才结束。
否则会一闪而过。
- destroyAllWindows() 别忘了销毁全部的窗体
完整样例
以下的代码非常easy。就是读取一张图片,转化成灰度图并存储在本地。然后显示出来。
import cv2
# read image
img = cv2.imread('./1.jpg')
# change it to gray image
imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# write gray image
cv2.imwrite("gray.jpg", imgGray)
title = "gray image"
# create a window
cv2.namedWindow(title, cv2.WINDOW_NORMAL)
# show the picture in the window
cv2.imshow(title, imgGray)
# wait until any input of user
cv2.waitKey(0)
# destroy all window
cv2.destroyAllWindows()