欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > 计算机视觉阶段一:CV入门基础

计算机视觉阶段一:CV入门基础

2025/6/22 9:58:12 来源:https://blog.csdn.net/moton2017/article/details/148766987  浏览:    关键词:计算机视觉阶段一:CV入门基础

目录

学习目标:

一、核心知识点

二、实用工具推荐

三、学习内容与步骤

1.环境搭建

2.图像获取与显示

3 图像基础处理

4 图像几何变换

5 图像像素操作

四、实战任务建议

实战 1:图像加载 + 显示 + 保存

实战 2:灰度图 + 边缘检测 + 图像叠加

实战 3:人脸检测(OpenCV自带Haar模型)

实战 4:摄像头实时图像 + 边缘检测

五、推荐学习资源

教程/文档:

视频教程:

六、阶段一小项目


 

计算机视觉阶段一:CV入门基础,这是构建图像理解能力的第一步。


学习目标:

掌握图像的基本概念,熟练使用 OpenCV 进行图像读取、处理和简单分析。


一、核心知识点

模块内容备注
图像基础概念像素、RGB、灰度图、通道、分辨率图像是一个多维数组
颜色空间转换RGB ↔ BGR ↔ HSVcv2.cvtColor()
图像读取与显示cv2.imread()、cv2.imshow()加载图像/视频
图像缩放与裁剪resize()、数组切片改变图像尺寸/区域
图像滤波与去噪均值、Gaussian、Median降噪处理
边缘检测Sobel、Laplacian、Canny识别图像中边缘轮廓
图像几何变换平移、旋转、仿射变换、透视变换cv2.warpAffine()
绘图与标注画线、圆、文字标注cv2.line()、cv2.putText()

二、实用工具推荐

工具名用途安装命令
Python编程语言建议用Python 3.8+
OpenCV图像处理主力库pip install opencv-python
JupyterLab交互式开发环境(推荐)pip install jupyterlab

三、学习内容与步骤

1.环境搭建

  • 编程语言选择:

    • Python:主流语言,语法简单,生态丰富(推荐初学者使用)。

    • C++:工业级应用常用,性能更高(适合进阶后学习)。

  • 安装OpenCV:

    pip install opencv-python
    # 完整版(含额外模块,如SIFT算法):
    pip install opencv-contrib-python
    • Python安装命令:

    • C++版本需从源码编译(参考OpenCV官方文档)。

  • 开发工具:

    • Jupyter Notebook:适合快速实验和调试。

    • PyCharm/VS Code:适合大型项目开发。

2.图像获取与显示

  • 图像读取与保存:

import cv2
# 读取图像
img = cv2.imread('image.jpg')  # BGR格式
# 显示图像
cv2.imshow('Image', img)
cv2.waitKey(0)  # 等待按键关闭窗口
cv2.destroyAllWindows()
# 保存图像
cv2.imwrite('output.jpg', img)
  • 图像格式与通道:

    • OpenCV默认读取为BGR格式,需转换为RGB(如用于显示)。

    • 像素值范围:0-255(8位无符号整数)。

3 图像基础处理

  • 颜色空间转换:

# 灰度化
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# RGB转灰度公式:Y = 0.299R + 0.587G + 0.114B
  • 图像二值化:

# 阈值分割(将灰度图转为黑白二值图)
_, binary_img = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY)
  • 直方图均衡化:

# 增强图像对比度
equalized_img = cv2.equalizeHist(gray_img)
  • 滤波去噪:

# 高斯滤波(平滑噪声)
blurred_img = cv2.GaussianBlur(img, (5,5), 0)
# 中值滤波(去除椒盐噪声)
median_img = cv2.medianBlur(img, 5)

4 图像几何变换

  • 缩放:

resized_img = cv2.resize(img, (width, height), interpolation=cv2.INTER_LINEAR)
  • 旋转:

# 获取旋转矩阵(绕中心点旋转45度,缩放0.5)
M = cv2.getRotationMatrix2D((center_x, center_y), 45, 0.5)
rotated_img = cv2.warpAffine(img, M, (width, height))
  • 透视变换:

# 定义源点和目标点
pts1 = np.float32([[x1,y1], [x2,y2], [x3,y3], [x4,y4]])
pts2 = np.float32([[0,0], [width,0], [0,height], [width,height]])
M = cv2.getPerspectiveTransform(pts1, pts2)
warped_img = cv2.warpPerspective(img, M, (width, height))

5 图像像素操作

  • 访问与修改像素值:

# 访问单个像素
pixel = img[100, 100]  # BGR值
# 修改像素
img[100, 100] = [255, 0, 0]  # 设置为蓝色
  • 图像ROI(Region of Interest)提取:

roi = img[y_start:y_end, x_start:x_end]

四、实战任务建议

实战 1:图像加载 + 显示 + 保存

import cv2img = cv2.imread('example.jpg')
cv2.imshow('Image', img)
cv2.imwrite('saved.jpg', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

实战 2:灰度图 + 边缘检测 + 图像叠加

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray, 100, 200)
cv2.imshow('Edges', edges)

实战 3:人脸检测(OpenCV自带Haar模型)

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x, y, w, h) in faces:cv2.rectangle(img, (x, y), (x+w, y+h), (255, 0, 0), 2)
cv2.imshow('Faces', img)

实战 4:摄像头实时图像 + 边缘检测

cap = cv2.VideoCapture(0)
while True:ret, frame = cap.read()edges = cv2.Canny(frame, 100, 200)cv2.imshow('Edges Live', edges)if cv2.waitKey(1) == 27:  # ESC退出break
cap.release()
cv2.destroyAllWindows()

五、推荐学习资源

教程/文档:

  • OpenCV 官方文档(英文)

  • OpenCV-Python 中文教程

视频教程:

  • B站推荐关键词:OpenCV Python 零基础入门

  • YouTube 推荐频道:Murtaza's Workshop - Robotics and AI


六、阶段一小项目

项目名称描述提示
图像变换工具图像输入 → 滤波 → 边缘检测 → 变换用 OpenCV 实现 GUI 可加分
实时摄像头特效实时处理图像并添加滤镜/变形效果摄像头输入、滤镜算法、键盘控制
人脸截取工具从照片中自动检测人脸并保存为头像图像使用 Haar+裁剪

 

扩展阅读:

AI 技术&AI开发框架AI 技术&AI开发框架
深度解析 AI 应用开发流程深度解析 AI 应用开发流程
深度解析 AI 开发的全栈生态深度解析 AI 开发的全栈生态
从0到1:AI 全栈项目实战模板从0到1:AI 全栈项目实战模板
计算机视觉(Computer Vision, CV)计算机视觉(Computer Vision, CV)
计算机视觉阶段一:CV入门基础计算机视觉阶段一:CV入门基础
计算机视觉阶段二:经典算法与理论基础(传统CV)计算机视觉阶段二:经典算法与理论基础(传统CV)
计算机视觉阶段三&四:深度学习 + CV 模型训练及部署实战计算机视觉阶段三&四:深度学习 + CV 模型训练及部署实战

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词