文章目录
1.什么opencv,它的优势点
OpenCV是Intel®开源计算机视觉库。它由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV 拥有包括 300 多个C函数的跨平台的中、高层 API。它不依赖于其它的外部库——尽管也可以使用某些外部库。
它有以下特点:
- 开放的C/C++源码
- 基于Intel处理器指令集开发的优化代码
- 统一的结构和功能定义
- 强大的图像和矩阵运算能力
- 方便灵活的用户接口
6)同时支持MS-WINDOWS、LINUX平台
作为一个基本的计算机视觉、图像处理和模式识别的开源项目,OPENCV可以直接应用于很多领域,作为第二次开发的理想工具。
2.opencv安装和环境配置
一般用的是python-opencv
像普通安装python的包一样,pip install python-opencv
3.了解数字图像的基本概念:像素、彩色图像、灰度图像、二值图像、图像算数操作
像素: 数字图像由二维的元素组成,每一个元素具有一个特定的位置(x,y)和幅值f(x,y),这些元素就称为像素
灰度图像: 是一个二维灰度(或亮度)函数f(x,y)
彩色图像: 由三个(如RGB, HSV)二维灰度(或亮度)函数f(x,y)组成。
二值图像: 指将图像上的每一个像素只有两种可能的取值或灰度等级状态,人们经常用黑白、B&W、单色图像表示二值图像。
图像算数操作:
1、add—图像矩阵相加
add(src1, src2, dst=None, mask=None, dtype=None)
2、subtract—图像矩阵相加
subtract(src1, src2, dst=None, mask=None, dtype=None)
3、bitwise_and—图像与运算
bitwise_and(src1, src2, dst=None, mask=None)
4、bitwise_or—图像或运算
bitwise_and(src1, src2, dst=None, mask=None)
5、bitwise_xor—图像异或运算
bitwise_and(src1, src2, dst=None, mask=None)
6、bitwise_not—图像非运算
bitwise_and(src1, src2, dst=None, mask=None)
4.练习numpy中array的基本操作
就不详细贴代码了,我把参考链接放在这https://github.com/rougier/numpy-100
5.练习图像的加载、保存、以及算术操作
例如
import cv2
img = cv2.imread(dir)
cv2.imwrite(save_dir, img)
crop = img[y1:y2, x1:x2]
参考文献
https://blog.csdn.net/singwhatiwanna/article/details/17057925
https://blog.csdn.net/jnulzl/article/details/47129887