news 2026/6/15 15:01:20

open CV 从基础到入门 (笔记整理)python

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
open CV 从基础到入门 (笔记整理)python

🎯 目标方向"小辉懂编程正在向全力迈进!

🆔 版权声明原创文章,如需转载请告知作者。

📅 创作时间:2025 年 12 月 17 日

📂 个人主页:小辉懂编程-CSDN博客

📌 专栏系列:python - open CV 专栏

💬 互动交流:欢迎点赞👍|收藏⭐|留言📝,一起交流技术,共同进步!

🌟 公众平台:文章底部公众号(小辉快乐编程)可以获取学习资料,共同进步

🌟 个人格言"代码改变世界,逻辑塑造未来!"

openCV 基础概念

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉库,支持跨平台开发,涵盖图像处理、视频分析、机器学习等功能。核心模块包括:

  • imgproc:图像处理(滤波、边缘检测等)
  • highgui:图像显示与交互
  • core:基础数据结构(如矩阵操作)
  • video:视频分析与运动跟踪

1.安装与环境配置

Python 环境下通过 pip 安装:

pip install opencv-python # 基础模块 pip install opencv-contrib-python # 包含扩展模块

OpenCV主要函数

函数名主要作用常见应用场景
cv2.imread()读取图像文件从文件路径加载图像数据到内存
cv2.imshow()显示图像窗口在窗口中展示图像内容
cv2.imwrite()保存图像文件将处理后的图像写入到磁盘文件
cv2.cvtColor()颜色空间转换如RGB转灰度图、RGB转HSV
cv2.resize()调整图像尺寸缩放图像到指定大小
cv2.GaussianBlur()高斯模糊图像降噪、平滑处理
cv2.Canny()Canny边缘检测提取图像中的边缘信息
cv2.findContours()查找轮廓在二值图像中检测物体轮廓
cv2.threshold()阈值处理图像二值化(全局阈值)
cv2.adaptiveThreshold()自适应阈值处理图像二值化(局部阈值)
cv2.HoughLines()霍夫直线变换检测图像中的直线
cv2.HoughCircles()霍夫圆变换检测图像中的圆形
cv2.matchTemplate()模板匹配在图像中搜索特定模板的位置
cv2.VideoCapture()视频捕获对象读取摄像头或视频文件
cv2.VideoWriter()视频写入对象保存视频帧为视频文件
cv2.erode()腐蚀操作形态学处理,减小前景区域
cv2.dilate()膨胀操作形态学处理,增大前景区域
cv2.morphologyEx()形态学操作开运算、闭运算、形态学梯度等
cv2.calibrateCamera()相机标定计算相机内参和畸变系数
cv2.undistort()图像校正去除镜头畸变

图像读取与显示

import cv2 # 读取图像(参数:文件路径,标志如 cv2.IMREAD_COLOR) image = cv2.imread('image.jpg') # 显示图像(窗口名称,图像数据) cv2.imshow('Display', image) cv2.waitKey(0) # 等待按键关闭窗口 cv2.destroyAllWindows()

2.图像基本操作

颜色空间转换

gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # 转为灰度图 hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV) # 转为HSV空间

绘制图形

cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2) # 画矩形 cv2.putText(image, 'Text', (x, y), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 0, 0), 2)

3.图像处理技术

边缘检测(Canny)

edges = cv2.Canny(gray, threshold1=50, threshold2=150)

阈值处理

_, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

滤波(高斯模糊)

blurred = cv2.GaussianBlur(image, (5, 5), 0)

视频处理

读取摄像头或视频文件

cap = cv2.VideoCapture(0) # 0 为默认摄像头 while True: ret, frame = cap.read() if not ret: break cv2.imshow('Video', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break cap.release()

4.特征检测与匹配

SIFT 特征点检测

sift = cv2.SIFT_create() keypoints, descriptors = sift.detectAndCompute(gray, None) image_with_keypoints = cv2.drawKeypoints(image, keypoints, None)

ORB 快速匹配

orb = cv2.ORB_create() kp1, des1 = orb.detectAndCompute(img1, None) kp2, des2 = orb.detectAndCompute(img2, None) bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True) matches = bf.match(des1, des2)

实战应用示例

人脸检测(Haar 级联)

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') faces = face_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5) for (x, y, w, h) in faces: cv2.rectangle(image, (x, y), (x+w, y+h), (255, 0, 0), 2)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 2:05:26

意念操控三维世界!中科院脑机接口突破背后的技术革命

意念操控三维世界!中科院脑机接口突破背后的技术革命 今天刷到一条让我直呼“科幻照进现实”的新闻——12月17日,中科院脑科学与智能技术卓越创新中心在上海宣布,他们的侵入式脑机接口临床试验取得重大突破:一位四肢瘫痪患者仅凭意念,就能操控智能轮椅在小区遛弯,还能指…

作者头像 李华
网站建设 2026/6/15 13:20:08

数字艺术风格化AI创作创意指南:从灵感源泉到个性表达

数字艺术风格化AI创作创意指南:从灵感源泉到个性表达 【免费下载链接】Analog-Diffusion 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/Analog-Diffusion 你是否渴望突破传统艺术的边界,用AI技术创造出独一无二的视觉语言&#xff1…

作者头像 李华
网站建设 2026/6/15 13:14:32

7、iOS开发中的传感器与音频处理

iOS开发中的传感器与音频处理 1. iOS传感器之磁力计 在iOS开发中,传感器的应用十分广泛,其中磁力计是一个重要的传感器,它用于测量设备周围磁场的强度。在没有强磁场干扰的情况下,磁力计的读数与地球的环境磁场相关,这使得我们可以利用这些读数来确定设备的方向。设备的…

作者头像 李华
网站建设 2026/6/15 9:19:40

数据库连接池容器化部署终极指南:Docker与Podman实战性能对比

夜深人静,线上系统突然告警:"数据库连接池耗尽!"这可能是每个后端工程师的噩梦。在微服务架构中,数据库连接池作为应用与数据库之间的关键桥梁,其容器化部署质量直接影响系统的稳定性和性能表现。今天我们将…

作者头像 李华
网站建设 2026/6/15 13:55:30

24、构建面部识别增强现实应用指南

构建面部识别增强现实应用指南 1. 面部识别应用基础 在开发面部识别增强现实(AR)应用时,有几个关键的技术点和工具需要了解。首先是面部识别的技术选择,常见的有OpenCV、iOS 5 CIDetector Class和Face.com。 OpenCV :这是一个开源的计算机视觉库,用于面部识别时,需要…

作者头像 李华
网站建设 2026/6/15 14:20:25

3步搞定复杂AI流程:可视化编排终极指南

3步搞定复杂AI流程:可视化编排终极指南 【免费下载链接】cube-studio cube studio开源云原生一站式机器学习/深度学习AI平台,支持sso登录,多租户/多项目组,数据资产对接,notebook在线开发,拖拉拽任务流pipe…

作者头像 李华