OpenCV基础(一)

简介: OpenCV是一个开源的计算机视觉库,用于图像处理和机器学习,由Intel发起,支持多种平台和语言,如Python、C++。它提供丰富的优化算法,适用于面部识别、物体识别等应用。OpenCV-Python是其Python接口,便于快速原型设计,包含多个模块,并有丰富的学习资源。基本操作包括使用`cv.imread()`读取图像,`cv.imshow()`显示图像,以及`cv.imwrite()`保存图像。


OpenCV简介


OpenCV是一个功能强大的开源计算机视觉和机器学习软件库,它在图像处理和视频分析领域得到了广泛应用。OpenCV最初由英特尔公司于1999年发起并支持,后来由Willow Garage和Itseez(现在是Intel的一部分)维护。它是为了推动机器视觉领域的实时应用而开发的。OpenCV提供了丰富的算法,包括但不限于图像处理、物体和特征检测、物体识别、3D重建等。这些算法经过优化,可以在多种硬件平台上高效运行。OpenCV被广泛应用于面部识别、物体识别、运动跟踪、机器人视觉以及许多其他的计算机视觉应用中。



OpenCV的优势:


  • OpenCV基于C++实现,同时提供python, Ruby, Matlab等语言的接口。OpenCV-Python是OpenCV的Python API,结合了OpenCV C++ API和Python语言的最佳特性。


  • 可以在不同的系统平台上使用。


OpenCV-Python是一个Python绑定库,解决计算机视觉问题。


OpenCV-Python继承了OpenCV的多平台、轻量级和高效的特点,为Python开发者提供了丰富的计算机视觉功能。以下是OpenCV-Python的一些详细介绍:


  1. 接口封装:OpenCV-Python是OpenCV库C++实现的Python包装器。这意味着OpenCV-Python是对C++版本的OpenCV进行了Python风格的封装,使得Python开发者能够轻松地调用OpenCV的功能。


  1. 快速原型设计:OpenCV-Python非常适合用于计算机视觉问题的快速原型设计。它的设计使得开发者可以迅速实现想法并测试算法。


  1. 模块组成:OpenCV-Python包含了多个模块,每个模块都有其特定的应用场景。了解这些模块的功能和用途对于有效使用OpenCV-Python至关重要。


  1. 学习资源:为了掌握OpenCV-Python,官方提供了丰富的学习资源,包括官方网站、手册和入门教程。这些资料是学习和解决问题的重要参考。


  1. 安装与测试:在开始使用OpenCV-Python之前,需要确保已经正确安装了相关库,并且通过查询版本信息来验证安装是否成功。



图像的基础操作


读取图像


cv.imread()


参数:


  • 要读取的图像
  • 读取方式的标志
  • cv.IMREAD*COLOR:以彩色模式加载图像,任何图像的透明度都将被忽略。这是默认参数。
  • cv.IMREAD*GRAYSCALE:以灰度模式加载图像
  • cv.IMREAD_UNCHANGED:包括alpha通道的加载图像模式。


import numpy as np
import cv2 as cv
 
img = cv.imread('QQ.jpg',0)


显示图像


cv.imshow()


  • 显示图像的窗口名称,以字符串类型表示
  • 要加载的图像


保存图像


cv.imwrite()


  • 文件名,保存在哪里
  • 保存的图像


cv.imwrite('messigray.png',img)


读取一张图片,将其转换为灰度图像,并显示出来:


import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
 
img = cv.imread('messi5.jpg',0)
 
 
cv.imshow('image',img)
 
plt.imshow(img[:,:,::-1])
plt.title('匹配结果'), plt.xticks([]), plt.yticks([])
plt.show()
k = cv.waitKey(0)
 
cv.imwrite('messigray.png',img)



OpenCV基础(二)+https://developer.aliyun.com/article/1544259?spm=a2c6h.13148508.setting.21.1fa24f0eHs4uWw

相关文章
|
8月前
|
存储 编译器 数据库
[笔记]OpenCV+FFmpeg+Qt实现视频编辑器之OpenCV核心类型 Mat
[笔记]OpenCV+FFmpeg+Qt实现视频编辑器之OpenCV核心类型 Mat
|
8天前
|
机器学习/深度学习 API 计算机视觉
OpenCV基础(二)
OpenCV教程概览:介绍如何在图像中绘制几何图形,如使用`cv.line`绘制直线,`cv.circle`画圆,`cv.rectangle`画矩形,并添加文字。还涵盖了图像的几何变换,包括缩放、平移、旋转和仿射变换。代码示例展示了这些操作在Python中的实现,通过`cv2.resize`进行图像缩放,`cv.getRotationMatrix2D`及`cv.warpAffine`实现旋转,以及`cv.getPerspectiveTransform`进行透射变换。
|
23天前
|
机器学习/深度学习 监控 算法
OpenCV一文入门
OpenCV 是一个开源的计算机视觉库,用于图像处理、视频分析和机器学习。它包含数千种算法,涉及滤波、几何变换、特征检测、机器学习等多个领域。支持图像和视频读取、显示、处理,例如图像转灰度、高斯模糊和边缘检测。安装 Python 版本可通过 `pip install opencv-python`。OpenCV 广泛应用于自动驾驶、安防监控、医疗影像和制造业等,未来将加强深度学习支持和跨平台性能。
19 0
|
1月前
|
机器学习/深度学习 并行计算 算法
OpenCV 4基础篇| OpenCV简介
OpenCV 4基础篇| OpenCV简介
|
1月前
|
存储 计算机视觉 Python
OpenCV 4基础篇| OpenCV图像基本操作
OpenCV 4基础篇| OpenCV图像基本操作
|
1月前
|
计算机视觉
OpenCV之imutils实战
【1月更文挑战第3天】
|
资源调度 数据格式 计算机视觉
|
计算机视觉 C++
|
机器学习/深度学习 编解码 计算机视觉
|
算法 数据处理 C++