初识OpenCV
来源:互联网 发布:怎么投诉淘宝卖家 编辑:程序博客网 时间:2024/06/06 09:45
配置运行环境
这里只说opencv的python库。从http://opencv.org可以下最新的opencv库。下好一个exe文件后一路下一步即可。安装完成后,找到安装目录下\build\python\2.7\x86\cv2.pyd,将其copy至python安装目录下Python27\Lib\site-packages中。由于本人比较懒,numpy的安装我是直接通过Pycharm进行安装的,大家也可以通过numpy的官网进行安装。这两个库都装好后在python程序中输入:
import cv2import numpy as np
运行后不报错即为配置成功。若报错,检查以下几点:
- 使用与OpenCV库要求的相同版本的Python编译器,此处为2.7
- 使用与Python相同位的OpenCV库文件,此处为x86
尤其是第二步,没处理好的话会报“cv2.pyd非有效的win32动态链接库”错误。
如果还不行,那么只能:重装你所有于此相关的程序,包括opencv库,python编译器,python IDE,且保证三者均为x86或x64(一般来说就算是64位处理器,装32位也是可行的且出现问题的概率较低)。
第一个OpenCV程序
# !/usr/bin/env python2.7# _*_ coding:utf-8 _*_import cv2import numpy as nppath = r'D:\OpenCV\sources\samples\data\lena.jpg'# Read an image. Second argument mean: 1->cv2.IMREAD_COLOR 0->cv2.IMREAD_GRAYSCALE -1->cv2.IMREAD_UNCHANGEDimg = cv2.imread(path, 1)cv2.imshow('Hello Lena', img)# 64-bit machine have to add "& 0xFF" to "cv2.waitKey(0)"k = cv2.waitKey(0) & 0xFF# press key 's' to saveif k == ord('s'): # Save image, First argument is the file name, second argument is the image you want to save. cv2.imwrite('test.jpg', img)cv2.destroyAllWindows()
小程序没啥用,主要就是看看自己的OpenCV配置好了没。。运行后会显示CV的大名鼎鼎的美女Lena,如果按下s键则将该图片保存至项目目录下取名为test.jpg中,按其他键则直接退出。
主要用到几个函数:
cv2.imread()
该方法用来读取图像。两个参数,第一个指定图像路径,第二个取1,0,-1,分别代表读入的图像为cv2.IMREAD_COLOR、cv2.IMREAD_GRAYSCALE或IMREAD_UNCHANGED模式。三者区别如下:- cv2.IMREAD_COLOR : Loads a color image. Any transparency of image will be neglected. It is the default flag.
- cv2.IMREAD_GRAYSCALE : Loads image in grayscale mode
- cv2.IMREAD_UNCHANGED : Loads image as such including alpha channel
cv2.imshow()
该方法会新建一个窗口用以显示指定图片,窗口大小会自动匹配为图片大小并且是固定的。两个参数,第一个指定生成window的title,第二个指定要显示哪张图片。另外若在这句前调用cv2.namedWindow(‘title name’, cv2.WINDOW_NORMAL)则会生成可调整大小的window。实际上默认情况下是相当于调用了cv2.namedWindow(‘title name’, cv2.WINDOW_AUTOSIZE)。cv2.waitKey()
这是一个键盘绑定方法。传入一个毫秒数,如果在该事件按任意键程序将会继续执行,如果传入0则程序会被阻塞等待键盘事件。该方法的返回值可以用来检测是否按下了特定键。另外需要注意的是若是64位处理器,则应在该方法后加上“& 0xFF”。cv2.imwrite()
该方法会将指定图片保存至指定目录。传入的两个参数一个指定路径及生成的文件名,另一个指定要保存的图片。cv2.destroyAllWindows()
该方法会销毁所有opencv生成的window。若要销毁某一指定window,则使用cv2.destroyWindow()方法。
- opencv初识
- 初识OpenCV
- opencv初识(一)
- VS2017初识opencv
- opencv初识,敬初学者,opencv安装办法
- 初识OpenCV(基础篇)
- 初识opencv人脸检测
- openCV学习笔记一 —— 初识openCV
- Opencv入门-第一回-梦牵机器视觉翼,初识Opencv域(安装Opencv)
- Opencv入门-第一回-梦牵机器视觉翼,初识Opencv域(安装Opencv)
- Opencv入门-第一回-梦牵机器视觉翼,初识Opencv域(安装Opencv)
- 初识OpenCV之显示一张图片(一)(1)
- OpenCV SIFT特征学习:(一)初识SIFT
- OpenCV 基础入门 基于官方文档的解读(1)--初识opencv
- 初识
- 初识
- 初识
- opencv
- 关于上一篇日志《TWS API 开发手记——连接到TWS平台》的修正
- BZOJ 4802 欧拉函数(素数判定Miller-Rabin+素因子分解Pollard-rho+欧拉函数)
- Android实现APP欢迎页面
- new 重载
- Unity3D shader(5)——vertex shader(一)
- 初识OpenCV
- python中多线程的使用
- CentOS7下安装配置docker
- 八皇后问题——用Python解决
- Maven 的构建之 pom文件一些属性分析
- POJ 2418 Hardwood Species 经典字典树 统计单词出现次数
- 【ZZULIOJ 】 几道水题
- java大神潜在的十个特征
- 自定义view画圆拖动