使用opencv提供的函数cv2.imread()来读取图像,该函数支持各种静态图像格式。函数格式如下:
retval = cv2.imread(filename[,flag])
如果要使用cv2,imread()函数读取一副图像,则代码如下所示:
improt cv2
lena = cv2.imread(D:\\by2.png)
print(lean)
opencv提供了多个与显示相关的函数,具体如下:
函数cv2.nameWindow()用来创建窗口,语法格式如下:
None = cv.2nameWindow(winname) #winname是要创建窗口的名称
函数Inshow()用来显示图像,其语法格式为:
None = cv2.imshow(winname,mat)
例如,在一个窗口内显示读取的图像,代码如下:
import cv2
lena = cv2.imread("D:\\by2.png")
cv2.nameWindow("lesson")
cv2.imshow("lesson",lena)
在本程序中,首先通过cv2.imread()函数读取图像by2png,接下来通过cv2.nameWindow()函数创建一个名为lesson的窗口,最后通过cv2.imshow()函数在窗口lesson内显示图像by2.png。
在实际使用过程中,可以先用cv2.nameWindow()先创建一个窗口,在让函数cv2.imread()引用该窗口来显示图像。也可以先不创建窗口,直接使用函数cv2.imshow()函数引用一个不存在的窗口,并且在其中显示指定的图像,这样函数cv2.imshow()函数会完成如下如下两个步骤:
import cv2
lena = cv2.imread("D:\\by2.png")
cv2.inshow("demo",lena)
函数cv2.waitKey用来等待按键,当用户按下键盘后,该语句会被执行,并获取返回值,语法格式为:
retval = cv2.waitKey([delay])
import cv2
lena = cv2.imread("D:\\by2.png")
cv2.imshow("demo",lena)
key = cv2.waitKey()
if key == ord('A'):
cv2.imshow("Press A",lena)
elif key == ord('B'):
cv2.imshow("Press B",lena)
运行上述代码,按下键盘的A、B键会在一个新的窗口显示图像。
函数cv2.destoryWindows()用来释放(销毁)指定窗口,语法格式为:
None = cv2.destoryWindows(winname)
接下来演示一下如何使用这个函数来释放窗口
import cv2
lena = cv2.imread("D:\\by2.png")
cv2.imshow("demo",lena)
cv2.waitKey()
cv2.destroyWindows("demo")
当未按下某个键时,程序没有新的状态出现;当按下键盘上的任意一个键时,窗口会消失。
语法格式为:
retval = cv2.imwrite(filename,img[,params])
编写程序,将读取的图像保存到下面的目录中:
import cv2
lena = cv2.imread("D:\\by2.png")
r = cv2.imwrite("F:\\BY3.png",lena)