介绍几个处理图片时候经常使用到的函数。
第一个:读取图片
src = cv2.imread()
这个函数是opencv中读取图片的函数。有好几个参数,不过一般都只用第一个路径的参数。path就是你要处理图片的路径,比如
src = cv.imread("F:/PIL/reniz/image.jpg")
需要注意的是:①不要忘记图片的后缀名。②src里保存的并不是图片的原来格式,而是它的数组形式,你可以print试一下,并不会输出图片。
第二个:显示图片
cv2.imshow("name",src)
这个函数就是用来显示图片的,name这个参数是命名,src是要显示的图片。显示多张图片的时候不能取相同的名字。
如下图所示,我取的名字叫rob,那它的显示框里最上面就会显示rob
第三点:键盘操作
cv2.waitKey(0)
cv2.destroyAllWindows()
cv2.waitKey()这个函数是检测键盘控制的函数,毫秒级的等待时间,如果有键盘输入,这个函数会返回 ASCII码,这个函数在特定情况下很有用,只是处理图片的话,用处不大。
cv2.destoryAllwindows() 这个函数是删除所有建立的窗口,清屏的作用。
第四点:保存图片
cv2.imwrite()
这个函数就是用来保存图片的。比如:
cv2.imwrite("F:/PIL/reniz/rob.png",src)
两个后缀名,第一个是你要保存图片的地址,名字和格式,这里就是F:/PIL/reniz/rob.png,注意要加引号,后面就是你要保存的图片。
举个例子,深入理解。
import cv2
import numpy as np
src = cv2.imread("F:/PIL/reniz/image.jpg ")
cv2.imshow("rob1",src)
cv2.imshow("rob2",src)
cv2.imshow("rob3",src)
k = cv2.waitKey(0)
if k == 27:
cv2.destroyAllWindows()
elif k == ord("s"):
cv2.imwrite("F:/PIL/reniz/rob.png",src)
cv2.destroyWindow("rob2")
这个例子就是读入一张图片,然后,显示出三个不同名字的图片框,这时候如果你按下“esc”键,那就清除所有的,如果按下s键,则保存图片,并且清除第二个框。