OpenCV Using Python——加载和显示图像

来源:互联网 发布:jsp中调用java方法 编辑:程序博客网 时间:2024/05/17 08:46

OpenCV加载和显示图像

1. Python代码

       代码的功能很基础,所以注释也很基础。具体的内容可以查看OpenCV 3的官方文档。

       运行代码需要安装Python和导入OpenCV。在Python命令行输入“import cv2”,如果没有错误说明导入成功。代码如下:

################################################################################print 'Display Image Using Matplotlib'import cv2import numpy as npimgFile = 'images/face.jpg'# load an original imageimg = cv2.imread(imgFile,1)# image type is None if image path is wrongprint type(img)# display an original imagecv2.imshow('Original Image',img)# load a color imageimgRgb = cv2.imread(imgFile, cv2.IMREAD_COLOR)# load an image including alpha channelimgAlpha = cv2.imread(imgFile, cv2.IMREAD_UNCHANGED)# load a gray imageimgGray = cv2.imread(imgFile, cv2.IMREAD_GRAYSCALE)# print image shape: (rows, cols, channels)print 'RGB shape: ', imgRgb.shapeprint 'ARGB shape:', imgAlpha.shapeprint 'Gray shape:', imgGray.shape# print image typeprint 'img.dtype: ', img.dtype# print image sizeprint 'img.size: ', img.size# display resized square imagecv2.namedWindow('Resized Image', cv2.WINDOW_NORMAL)cv2.imshow('Resized Image', imgGray)k = cv2.waitKey(0)if 27 == k:         # wait for ESC key to exit    cv2.destroyAllWindows()elif ord('s') == k: # wait for 's' key to save and exit    # write an image    cv2.imwrite('face_gray.jpg',imgGray)    cv2.destroyAllWindows()    print 'Goodbye!'################################################################################print 'Display Image Using Matplotlib'# warning: opencv loads images in BGR mode, but matplotlib displays them in RGB modefrom matplotlib import pyplot as plt# load a gray imageimg = cv2.imread(imgFile,0)plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')# hide tick values on X and Y axisplt.xticks([]), plt.yticks([])plt.show()

2. 运行结果

       实验分两个部分,中间需要按键操作才能继续。结果如下:


结语

整个Python OpenCV跑下来真正能直接用的代码不多,大多数Demo在现实中都会引入很多不确定性的噪声。先打好基础吧。

0 0