赞
踩
Opencv:open computer vision:开源的计算机视觉
opencv是什么?计算机视觉初学者(例如我),在接触opencv之前就已经接触过了,cv这个东西,我们都知道他是计算机视觉的简写,而加上open之后,无非就是加了开源两个字,字面意思。
OpenCV是一个开源,跨平台的计算机视觉和机器学习软件库,含有很多图像处理以及计算机视觉的通用算法。它虽然是用c++编写的,但却兼具了python和java等其他语言的接口,这使得我们可以用python去使用它。
值得注意的是,OpenCV虽然非常多跨平台中高层的API但是它却不依赖与其他外部包,同时却可以使用一些外部包
对python环境已经安装好的设备来说,安装OpenCV无非就是一个pip命令。
pip install opencv-python -i https://pypi.douban.com/simple/
执行该命令时,可能会报错或者警告,但是大致情况都是要求用户在命令的尾部加上一个trusted…,表示信任该下载端,一般加上就可以解决。
测试是否安装成功
import cv2 as cv
等它跑一会,如果不报错的话一般就表示安装成功了。如下:
这里我用的是jupyter notebook,代码同样可以执行在cmd,pycharm等等环境上。
以下操作完成了对图像的简单操作
import cv2 as cv
src=cv.imread('test_1.jpg',0)
cv.namedWindow('input_1',cv.WINDOW_AUTOSIZE)
cv.imshow('input_1',src)
cv.waitKey(0)
cv.destroyAllWindows()
cv.imwrite('test_2.png',src)
imread方法:cv2.imread()总共有两个参数
参数1:文件路径
参数2:读取文件的方式,一般包含三种可以直接用1,0,-1表示
1:正常读取图像
0:读取灰度图像,就是我们常见的灰度图
-1:加载图像以及它的alpha通道,alpha通道指的是:一张图片的透明度和半透明度
执行结果为:
以上为正常的执行结果。
上面提供的第一段代码是非常基本的一个读存的操作,接下里我们细细看一下,对计算机来说,这个图像到底是什么。首先,我们运行一下代码(随便找个图像文件即可)
import cv2 as cv
src=cv.imread('test_1.jpg',1)
print(src)
我们会得到这样一组数据:
很明显它是一堆矩阵,没错,对计算机来说,所谓的图片,其实就是一个多维的矩阵,我们时长关注图片的三个重要属性,高度,宽度,通道执行以下方法:
def get_image_info(image):
print(image)
print(image.shape)
print('图片的大小:',image.size)
print('字节位数:',image.dtype)
、
视频文件也是图像文件的一种,这里我们直接通过调用摄像头来获取视频文件并提取每一帧图像。
代码:
def get_video():
capture=cv.VideoCapture(0)#调用摄像头
while True:
ret,frame=capture.read()
#将图像倒转过来
frame=cv.flip(frame,1)
cv.imshow('video',frame)
c=cv.waitKey(50)
if c==27 :
break
这篇文章主要浅说了opencv是什么,干什么用的,以及一些图像的基本处理。博主应该会短时间速成OpenCV,有兴趣的小伙伴可以关注以下。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。