技术文摘
OpenCV 常见的七个示例:从读取至人脸检测(Python 版)
2024-12-30 19:21:01 小编
OpenCV 常见的七个示例:从读取至人脸检测(Python 版)
OpenCV 是一个强大的计算机视觉库,在 Python 中使用它可以实现许多有趣和实用的功能。以下将为您介绍七个常见的示例,带您从图像读取到人脸检测。
示例一:图像读取 使用 OpenCV 读取图像非常简单。通过以下代码即可读取一张图片并显示:
import cv2
image = cv2.imread('image.jpg')
cv2.imshow('Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例二:图像灰度转换 将彩色图像转换为灰度图像有助于简化后续的处理:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray Image', gray_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例三:图像缩放 调整图像的大小可以根据需求改变图像的尺寸:
resized_image = cv2.resize(image, (new_width, new_height))
cv2.imshow('Resized Image', resized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例四:图像裁剪 提取图像的特定区域:
cropped_image = image[y_start:y_end, x_start:x_end]
cv2.imshow('Cropped Image', cropped_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例五:边缘检测 检测图像中的边缘信息:
edges = cv2.Canny(image, threshold1, threshold2)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例六:图像滤波 通过滤波去除图像中的噪声:
filtered_image = cv2.GaussianBlur(image, (kernel_size, kernel_size), sigma)
cv2.imshow('Filtered Image', filtered_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
示例七:人脸检测 这是一个较为复杂但令人兴奋的示例。使用 OpenCV 的预训练模型进行人脸检测:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
faces = face_cascade.detectMultiScale(gray_image, scaleFactor, minNeighbors)
for (x, y, w, h) in faces:
cv2.rectangle(image, (x, y), (x + w, y + h), (255, 0, 0), 2)
cv2.imshow('Face Detection', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
通过这七个示例,您对 OpenCV 的常见操作有了初步的了解。不断探索和实践,您将能够利用 OpenCV 实现更多精彩的计算机视觉应用。
- KDE 2022 路线:Wayland 替代 X11 并更新 Breeze 图标
- pip 的十五个实用技巧
- Tep 对 MVC 架构的支持实现用例数据分离
- 谷歌低调研发“GFR”以调试 Vulkan GPU 挂起/崩溃难题
- Java 排序算法探秘
- .NET Core 中 Cookie 滑动过期与 JWT 混合认证、授权的实践剖析
- 程序开发人员自测规范要求
- JavaScript 测试框架的选择标准
- Java 容器化的好处有哪些?
- 三个加速 Python 代码的小技巧
- CSS 助力轻松打造高级磨砂玻璃渐变背景
- Python 连续五年夺冠!2021 年 IEEE 编程语言排行榜揭晓
- Web 性能优化的 15 个实用窍门
- 2022 微软 Ignite 中国站所呈现的未来新技术趋势
- 实战:Spring Cloud Gateway 与 Rbac 权限模型集成达成动态权限控制