Opencv 基于ndarray的基本操作
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
OpenCV(开源计算机视觉库)是一个强大的图像处理和计算机视觉库,它广泛应用于图像分析、机器学习、深度学习等领域。在Python中,OpenCV利用NumPy的ndarray数据结构进行图像处理,使得处理图像变得更加方便高效。下面我们将深入探讨基于ndarray的OpenCV基本操作。 1. **导入OpenCV与NumPy** 在Python环境中,首先我们需要导入OpenCV库(cv2)和NumPy库(numpy),这两个库是进行图像处理的基础。通常,我们会这样导入: ```python import cv2 import numpy as np ``` 2. **读取与显示图像** 使用`cv2.imread()`函数可以读取图像文件,返回一个ndarray对象。例如: ```python img = cv2.imread('image.jpg') ``` 要显示图像,可以使用`cv2.imshow()`函数: ```python cv2.imshow('Image', img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 其中,`cv2.waitKey(0)`会等待用户按键,而`cv2.destroyAllWindows()`则会关闭所有窗口。 3. **图像的基本属性** 图像的形状可以通过ndarray的shape属性获取,它包含行数、列数和通道数(通常为3,对应RGB颜色)。例如: ```python rows, cols, channels = img.shape print('Rows:', rows, 'Cols:', cols, 'Channels:', channels) ``` 4. **图像的颜色空间转换** OpenCV支持多种颜色空间之间的转换,如BGR到灰度、HSV等。例如,将BGR图像转换为灰度: ```python gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ``` 5. **图像的复制与切片** 使用ndarray的切片操作可以对图像进行部分处理或复制。例如,获取图像左上角的一小块: ```python cropped_img = img[0:100, 0:100] ``` 6. **图像的运算** 对图像进行算术运算,如加法、减法、乘法等,可以对像素值进行操作。例如,将图像与另一个图像相加: ```python result = img + other_img ``` 7. **图像的滤波与平滑** OpenCV提供了多种滤波器,如高斯模糊、均值滤波等。例如,应用高斯模糊: ```python blurred_img = cv2.GaussianBlur(img, (5, 5), 0) ``` 8. **边缘检测** 边缘检测是图像处理中的重要步骤,OpenCV提供了Canny、Sobel、Laplacian等多种方法。例如,使用Canny检测边缘: ```python edges = cv2.Canny(img, 100, 200) ``` 9. **轮廓检测** 通过膨胀、腐蚀等形态学操作,可以找到图像中的轮廓。例如,检测并绘制轮廓: ```python contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) for contour in contours: cv2.drawContours(img, [contour], -1, (0, 255, 0), 2) ``` 10. **图像的缩放与旋转** 可以使用`cv2.resize()`函数来改变图像尺寸,使用`cv2.getRotationMatrix2D()`和`cv2.warpAffine()`进行图像旋转。例如,旋转图像90度: ```python rot_mat = cv2.getRotationMatrix2D((cols/2, rows/2), 90, 1) rotated_img = cv2.warpAffine(img, rot_mat, (cols, rows)) ``` 以上只是OpenCV基于ndarray操作的一部分,实际上还有更多高级功能,如特征匹配、物体检测、视频处理等。通过熟练掌握这些基本操作,你可以构建出复杂的计算机视觉系统,解决实际问题。不断学习和实践,你将在OpenCV的世界中游刃有余。
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![application/pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![vsdx](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![csv](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![exe](https://img-home.csdnimg.cn/images/20210720083343.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
- 1
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/5710760379cb4dc0b1d7ff9c3b9f2123_weixin_49613115.jpg!1)
- 粉丝: 713
- 资源: 23
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)