OpenCV-Python learning---1

来源:互联网 发布:竖琴 知乎 编辑:程序博客网 时间:2024/05/26 15:55

1. OpenCV与OpenGL区别

https://www.zhihu.com/question/20212016
一个是让机器识别东西的,OpenCV是给电脑做眼睛的。
一个是让机器计算出更好画面的,OpenGL用在游戏渲染方面很多。
OpenCV(Open Source Computer Vision Library)是一个基于(开源)发行的跨平台计算机视觉库,OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。

2. OpenCV安装

(1)官网下载 或者https://sourceforge.net/projects/opencvlibrary/files/,安装后如下位置(...\opencv\build\python\2.7\x64)的pyd拷贝到Python27/lib/site-packeges中,本方式只支持python27。注意版本和xx位的对应。

这里写图片描述

(2)pip install opencv-python,或者使用whl文件

3. 读取、保存图片

import cv2img=cv2.imread("../../source/gril.jpg",cv2.IMREAD_COLOR)#彩图,IMREAD_GRAYSCALE灰度图cv2.namedWindow("测试",cv2.WINDOW_NORMAL)#图像随窗口伸缩,默认WINDOW_AUTOSIZEcv2.imshow("测试",img)#名字“测试”区分不同的窗口s=cv2.waitKey(0)# waitKey(x);# 等待x ms(如果x=0,那么无限等待下去),如果在此期间有按键按下,则立即结束并返回按下按键的ASCII码,否则返回-1print(s)if s==27:#esc键    cv2.imwrite('../../source/gril_copy.jpg',img)#保存图片    print("图片已保存")cv2.destroyAllWindows()

4 . matplotlib中显示图片

import cv2import matplotlib.pyplot as pltimg=cv2.imread("../../source/gril.jpg",cv2.IMREAD_COLOR)#彩图,IMREAD_GRAYSCALE灰度图plt.imshow(img,interpolation='bicubic')plt.xticks([])plt.yticks([])plt.show()#opencv以BGR加载图片,matplotlib以RGB模式。

原图见头像,显示如下。
这里写图片描述

修改代码如下:

import cv2import matplotlib.pyplot as pltimg=cv2.imread("../../source/gril.jpg",cv2.IMREAD_COLOR)#彩图,IMREAD_GRAYSCALE灰度图b,g,r=cv2.split(img)img2=cv2.merge([r,g,b])plt.imshow(img2)plt.xticks([]),plt.yticks([]) # 不显示坐标轴plt.show()

显示见原图。

本文剧终。系列待续…

->next page