最新版opencv4.9安装介绍,基本图像处理详解

简介: 最新版opencv4.9安装介绍,基本图像处理详解

一、什么是OpenCV ?

OpenCV的全称是:Open Source Computer Vision Library

OpenCV是Intel开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,,可以运行在Linux、Windows、Android和Mac OS操作系统上。实现了图像处理和计算机视觉方面的很多通用算法。

优点:

1、 OpenCV 对非商业应用和商业应用都是免费的;

2、 开源的;

3、 可以应用于工程实践中;

缺点:

相对于Matlab而言,OpenCV基于C语言开发,编程复杂,开发周期较长。

可以看出,OpenCV的优缺点正好与Matlab的优缺点相反,两者各有所长,根据不同的要求选择不同的编程环境。

应用领域:

1、人机互动 2、物体识别 3、图象分割 4、人脸识别 5、动作识别 6、运动跟踪 7、机器人 8、运动分析 9、机器视觉 10、结构分析 11、汽车安全驾驶

为什么有OpenCV?

计算机视觉市场巨大而且持续增长,且这方面没有标准API,目前的计算机视觉软件大概有以下三种:

 1.研究代码(慢,不稳定,独立并与其他库不兼容)

 2.耗费很高的商业化工具(比如Halcon, MATLAB+Simulink)

 3.依赖硬件的一些特别的解决方案(比如视频监控,制造控制系统,医疗设备)

这是目前的现状。而标准的API将简化计算机视觉程序和解决方案的开发。OpenCV致力于成为这样的标准API。

二. OpenCV 安装

1. 下载地址

https://opencv.org/releases/

最新版目前是4.9.0 感兴趣的可以看下源码source

官方文档:https://docs.opencv.org/4.x/d9/df8/tutorial_root.html

2.安装命令

pip install opencv-python

检查下opencv是否安装成功,进入python环境,导入cv2,如果不报错就是安装成功

import cv2

查看opencv版本

print(cv2.__version__)

三、图像基础

1. 基本概念

(1)像素:计算机屏幕上所能显示的最小单位。用来表示图像的单位。

(2)RGB,R : Red,G : Green,B : Blue,每个的范围是0~255。


一张图片是由无数个像素组成的

2. 坐标系

这个logo像素是:18 X 20 = 360 pixels

坐标系的原点(0,0)在左上角,每一个点的坐标是:

(height, width, channel)。

channel就是颜色数量,比如RGB,channel就是3

3. 基本操作(彩色图片)

(1)读取图片

cv2.imread( )

我们先看看图片的样子

image = cv2.imread('image/123.png')   #注意,图片名称不能带中文。不然读取不到
image

得到的是个数组

#如果向要读取中文路径或中文文件名,需要转换下
#定义包含中文字符的图片路径
image_path = r"F:\virtualenvdata\ai\Scripts\pythonitems\myopencv\image\灰度.jpg"
 
#读取带有中文路径的图片
import numpy as np 
image = cv2.imdecode(np.fromfile(image_path, dtype=np.uint8), -1)

#imdecode读取的是rgb,如果后续需要opencv处理的话,需要转换成bgr,转换后图片颜色会变化
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR)
image.shape

查看这张图片的RGB分别是多少呢?

#查看图片的RGB

#在opencv中,图片的排序是BGR

#查看图片中某个点的三原色数值

b,g,r = image[40,20]

如果只想取出三原色中的一种,可以根据下标获取

#取出三原色中的某一种色的数值,根据下标获取

b = image[40,20,0]
b

可以看到跟同时取是一致的

#重新给像素赋值,更换颜色

image[40,20] = (0,0,255)

可以看到赋值成功

(2)获取图片的形状

img.shape
 

返回一个 (rows, heights, channels)

(3)获取图片的大小

img.size
 

返回一个rowsheightschannels

(4)显示图片

cv2.imshow( )

(5)等待

cv2.waitKey(0)
 

(6)关闭

cv2.destroyAllWindows()

图像显示完之后,要记得关闭,不然一直占用内存

cv2.imshow(‘image’,image)

#记得显示的时候,一定要等一下,不然会一闪而过

cv2.waitKey(0) 0 为参数,单位毫秒,表示间隔时间

waitKey(int delay)键盘绑定函数,共一个参数,表示等待毫秒数,将等待特定的几毫秒,看键盘是否有输入,

如果delay大于0,那么超过delayms后,如果没有按键,那么会返回-1,

如果按键那么会返回键盘值,返回值为ASCII值。

如果其参数为0,则表示无限期的等待键盘输入。

#关闭所有窗口
cv2.destroyAllWindows()

显示的很大,而且不能缩小

4. 基本操作(灰度图片)

(1)读取图片

cv2.imread( img, cv2.IMREAD_GRAYSCALE )   #灰度读取,一定要加上 cv2.IMREAD_GRAYSCALE 这个参数

先看下图片

#读取灰度图片

image = cv2.imread('image/huidu.jpg',cv2.IMREAD_GRAYSCALE)
image

(2)获取图片的形状:img.shape,返回一个(rows, heights)

image.shape

(3)展示灰度图片

#显示灰度图片

cv2.imshow("hui",image)
cv2.waitKey(0)
cv2.destroyAllWindows()

5. BGR 顺序

每个像素点由BGR三种颜色组成

#BGR顺序
img_logo = cv2.imread('image/logo.png')
#获取整张图片的BGR
b,g,r = cv2.split(img_logo)

#生成新图片
image_new = cv2.merge([r,g,b])
image_new

#展示
import matplotlib.pyplot as plt
plt.subplot(121)
plt.imshow(img_logo)
plt.subplot(122)
plt.imshow(image_new)
plt.show()

使用opencv展示

cv2.imshow('bgr_image',img_logo)
cv2.imshow('rgb_image',image_new)
cv2.waitKey(0)
cv2.destroyAllWindows()



相关文章
|
2月前
|
openCL 开发工具 C语言
OpenCV 图像处理学习手册:6~7
OpenCV 图像处理学习手册:6~7
99 0
|
2月前
|
存储 编解码 算法
OpenCV 图像处理学习手册:1~5
OpenCV 图像处理学习手册:1~5
54 0
|
2月前
|
并行计算 PyTorch 算法框架/工具
anaconda+pytorch+opencv安装及环境配置
anaconda+pytorch+opencv安装及环境配置
306 0
|
2月前
|
人工智能 Linux API
OpenCV这么简单为啥不学——1.1、图像处理(灰度图、模糊图片、GaussianBlur函数、提取边缘、边缘膨胀、边缘细化)
OpenCV这么简单为啥不学——1.1、图像处理(灰度图、模糊图片、GaussianBlur函数、提取边缘、边缘膨胀、边缘细化)
66 0
|
28天前
|
机器学习/深度学习 算法 Java
计算机视觉——opencv快速入门(一) opencv的介绍与安装
OpenCV是开源计算机视觉库,支持C++, Python, Java等,用于图像处理、视频分析等。建议使用较早版本如3.4.3,因高版本部分算法需付费。通过Anaconda创建Python虚拟环境来安装,选择合适的Python和OpenCV版本。激活环境后,用`pip`安装`opencv-python`。基本环境配置完成后,通过显示图像的Python代码测试安装是否成功。
计算机视觉——opencv快速入门(一) opencv的介绍与安装
|
2月前
|
开发工具 计算机视觉 C++
OpenCv、Vis Studio安装与配置
OpenCv、Vis Studio安装与配置
OpenCv、Vis Studio安装与配置
|
1月前
|
并行计算 Ubuntu 计算机视觉
【边缘智能】Jetson板卡上安装QT5与OpenCV集成
【边缘智能】Jetson板卡上安装QT5与OpenCV集成
48 0
|
2月前
|
人工智能 计算机视觉 Python
【OpenCV】计算机视觉图像处理基础知识(上)
【OpenCV】计算机视觉图像处理基础知识(上)
|
2月前
|
算法 计算机视觉
【OpenCV】计算机视觉图像处理基础知识(下)
【OpenCV】计算机视觉图像处理基础知识(下)
|
2月前
安装OpenCV-Python
安装OpenCV-Python
159 1