opencv|图像基础入门--图像基本操作

图像基础入门: 1. opencv图像基本操作 1.1 图像读取
opencv里提供了cv2.imread()函数来读取图像,该函数支持各种静态图像格式。语法格式:

retval = cv2.imread(filename[,flags])

retval 是返回值,如果未读到图像返回“None"。
【opencv|图像基础入门--图像基本操作】filename 表示要读取的图像完整文件名路径。
flags是读取标记,表示读取类型。如:
cv2.IMREAD_UNCHANGED=-1(保持原格式不变) cv2.IMREAD_GRAYSCALE=0(将图像调整为单通道的灰度图像)

1.2 图像显示
  • namedWindow函数
None = cv2.namedWindow(winname)

winname是创建的窗口名称
cv.nameWindow(“lesson”)
  • imshow函数
None = cv2.imshow(winname,mat)

winname 窗口名称
mat是要显示的图像
举例:
import cv2 lena = cv2.imread("lena.bmp") cv2.namedWindow("lesson") cv2.imshow("lesson",lena)

  • waitKey函数
retval =cv2.waitKey([delay])

retval 表示返回值。如果没有按键被按下,则返回-1,如果 有按键被按下,则返回该按键的ASCII码
delay表示等待键盘触发的时间,单位是ms.当该值是负数或者零时,表示无限等待。该默认为0
1.3 窗口关闭
  • destroyWindow函数
None= cv2.destroyWindow(winname)

该函数要配合cv2.waitKey()实现窗口的释放
  • destroyAllWindows函数
None= cv2.destroyAllWindow()

综合举例:
import cv2 i=cv2.imread("lena.png") cv2.imshow("Demo",i) cv2.waitKey(0) cv2.destroyAllWindows()

import cv2 i=cv2.imread("lena.png") while True: cv2.imshow("Demo",i) if cv2.waitKey(1) & 0xFF == ord('q'): break #0xFF按位与操作只读取cv2.waitkey(1)返回值最后八位。ord('q')表示q的ASCII值,否则返回的是-1

1.4 图像保存
cv2.imwrite()函数
retval = cv2.imwrite(filename,img[,params])

retval是返回值,如果保存成功,则返回布尔值(true);如果不成功则返回布尔值false.
filename要保存的目标文件完整路径名,包含扩展名。
img是被保存的图像名称
params是保存类型参数,是可选的。
import cv2 i=cv2.imread("E:\\lesson\\image\\test.png")#可以写绝对路径也可以写相对路径 cv2.imshow("Demo",i) cv2.waitKey(0) cv2.destroyAllWindows() cv2.imwrite("E:\\lesson\\image\\lesson1.png",i)#可以写绝对路径也可以写相对路径

    推荐阅读