opencv 常用函数
时间: 2025-01-02 12:37:20 浏览: 6
### OpenCV 常用函数列表及使用方法
#### 图像读取与显示
为了加载和展示图片,`cv2.imread()` 和 `cv2.imshow()` 是两个基础而重要的命令。前者负责从文件路径中载入图像至内存中的 NumPy 数组形式,后者则用来创建窗口并呈现图像内容给用户查看[^2]。
```python
import cv2
img = cv2.imread('path_to_image.jpg') # 加载彩色图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 将BGR颜色空间转换成灰度图
cv2.imshow('Image', gray_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
#### 边缘检测
Laplacian算子通过计算二阶导数来寻找图像中的突变位置即边缘所在之处。此过程涉及指定目标图像的数据类型以及可选参数如内核尺寸等设置[^4]。
```python
laplacian_edges = cv2.Laplacian(gray_img, cv2.CV_64F)
abs_laplace = cv2.convertScaleAbs(laplacian_edges)
sobelx = cv2.Sobel(gray_img,cv2.CV_64F,1,0,ksize=5) # X方向上的Sobel滤波器
sobely = cv2.Sobel(gray_img,cv2.CV_64F,0,1,ksize=5) # Y方向上的Sobel滤波器
```
#### 绘制直方图
利用Matplotlib库下的`hist()`函数能够方便快捷地获取并可视化一幅或多幅图像内的像素强度分布情况。值得注意的是,在调用之前应当先将多通道色彩模式转变为单一亮度值表示的形式以便后续处理[^3]。
```python
import numpy as np
import matplotlib.pyplot as plt
plt.hist(gray_img.ravel(), bins=np.arange(256))
plt.title('Grayscale Histogram')
plt.xlabel('Bins')
plt.ylabel('# of Pixels')
plt.show()
```
此外还有许多其他实用的功能等待探索,比如特征点匹配、视频流捕捉等等。官方文档提供了详尽的帮助手册供开发者深入了解各个模块的具体应用方式[^1]。
阅读全文