IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> opencv介绍与简单使用 -> 正文阅读

[人工智能]opencv介绍与简单使用

一、opencv介绍

??OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的跨平台的中、高层API。它不依赖于其它的外部库――尽管也可以使用某些外部库。

?OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

· OpenCV包含如下几个部分∶
	. Cxcore:一些基本函数(各种数据类型的基本运算等). Cv∶图像处理和计算机视觉功能(图像处理,结构分析,运动分析,物体跟踪,
模式识别,摄像机定标)
	· MI:机器学习模块,目前内容主要为分类器。
	. Cvaux:一些实验性的函数(ViewMorphing,三维跟踪,PCA,HMM)
	. Highgui:用户交互部分,(GUI,图象视频l/O,系统调用函数)
在python中使用需要安装该库并导入:
安装:pip install opencv-python
导入:import cv2

二、opencv使用示例

1、cv2 helloword

import numpy as np
import cv2

cap = cv2.VideoCapture(0)
while(True):
	#—帧帧读取摄像头内容
	ret,frame = cap.read()
	#显示转换后的颜色到窗口中
	cv2.imshow('frame', frame)
	if cv2.waitKey(1) & 0xFF == ord('q'): # 按 q键退出
		break
		
#释放capture资源
cap.release()
cv2.destroyAllwindows ()

在这里插入图片描述

2、cv2视频读取处理

摄像头捕获视频
	 cv2.VideoCapture()
	 0︰默认计算机默认摄像头,若填入本地视频地址的字符串,则读取本地视频
	 return:VideoCapture类
	 
	 cap = cv2.Videocapture(0)
	 <VideoCapture 0×10bd83ed0>

	cap.read():读取摄像头捕获内容
	return:ret true or false, frame:每—帧数据

在这里插入图片描述
在这里插入图片描述

3、cv2颜色空间变化

	在OpenCV中有超过150种进行颜色空间转换的方法。OpenCV默认的颜色顺序是BGR,所
以需要转换
	对于BGR-Gray的转换,使用的flag是cv2.COLOR_BGR2GRAY
	对于BGR-HSV的转换,使用的flag是cv2.COLOR_BGR2HSV
	对于BGR→RGB的转换,使用的flag是cv2.COLOR_BGR2RGB

注:HSV都是一种将RGB色彩模型中的点在圆柱坐标系中的表示法,,HSV即色相、饱和度、明度。H(色彩/色度)的取值范围是[0179],S(饱和度)的取值范围[0255],V(亮度)的取值范围[0255]

	cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
	return: frame

gray = cv2.cvtColor( frame,cv2.COLOR_BGR2GRAY)
hsv = cv2.cvtColor( frame, cv2.COLOR_BGR2HSV)
rgb = cv2.cvtColor( frame,cv2.COLOR_BGR2RGB)

在这里插入图片描述

4、cv2画图函数

画矩形
	cv2.rectangle(img,(xmin, ymin), (xmax,ymax),(0,255,0)1)
	左上角顶点和右下角顶点的坐标
	画框颜色:RGB颜色
	画线的粗细:不设置,有默认值1
	cv2.rectangle(frame,(3500)(500250)(02550)3)
cv2.circle (img,(380,0),63,(255,0,0),3)
	圆心与半径,显示颜色以及粗细
	线的粗细:-1∶填充圆内部,其他值为粗细

#画出空心圆
cv2.circle(frame,(380,0),63,(0,0,255),1)
#填充内部
cv2.circle(frame,(380,0),63,(0,0,255),-1)

在这里插入图片描述
在这里插入图片描述

画线类型:虚线还是实线

font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img,'OpenCV',(10,500), font, 4,(255,255,255),2,cv.LINE_AA)

三、总结

??经过上边的介绍大家对opencv都有了一个简单的了解了,要想深入学习opencv,要具备以下前提:了解python的基本语法,对图像处理的理论知识要有一定的了解,会线性代数以及高数中的一些知识。深入学习最好的一个方法就是去坑opencv的官方手册,其对opencv库有着很详细的介绍以及使用范例,不过其官方手册是英文的,需要一定的英文基础,我给大家提供一份我找到的2018版opencv4.1的中文版官方手册。

链接:https://pan.baidu.com/s/1LepiDg3nPDT9ptIbNz22Vw 
提取码:jytc 
--来自百度网盘超级会员V5的分享

本文章参考了百度百科,他人技术文章以及哔哩哔哩免费教程,综合整理而来,如有侵权联系删除,小白一个,欢迎大家指导交流!

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-10 22:31:02  更:2022-03-10 22:33:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:29:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码