opencv-python学习系列二——二值、灰度、彩色图像

本文介绍了图像的三种基本类型:二值图像、灰度图像和RGB彩色图像。二值图像由0和1构成,代表黑白;灰度图像拥有256级灰度,从0(黑)到255(白);RGB图像则包含红、绿、蓝三个通道,每个通道值在0到255之间。在OpenCV中,RGB图像的通道顺序为BGR。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图像分为二值图像、灰度图像、RGB(彩色)。

二值图像:非黑即白,只有两个值,0和1,0代表黑,1代表白,其保存也相对简单,每个像素只需要1Bit就可以完整存储信息。

灰度图像:灰度图像保存的信息比二值图像丰富。只包含一个通道,用于显示的灰度图像通常用每个采样像素8位的非线性尺度来保存,这样一共有256级灰度。其中0代表纯黑,255代表纯白。

彩色图像:每个像素有三个通道,红(R)、绿(G)、蓝(B)。三个值均在(0,255)之间。

需要注意的是在opencv里面彩色图像的通道顺序为BGR。

### OpenCV-Python简介 OpenCV-PythonOpenCVPython 实现,结合了 Python 的简洁语法与 OpenCV 强大的计算机视觉能力[^1]。该库适用于多种应用场景,如图像处理、对象检测、人脸识别以及机器学习等。 ### 安装指南 为了开始使用 OpenCV-Python 进行开发,需先完成安装过程。通常情况下,通过 pip 工具可以轻松安装此库: ```bash pip install opencv-python ``` 对于一些高级特性,则还需要额外安装 `opencv-contrib-python` 库[^2]: ```bash pip install opencv-contrib-python ``` ### 基础操作示例:读取并显示图片 下面展示如何利用 OpenCV-Python 来加载一张图片,并将其显示出来: ```python import cv2 # 加载彩色图像 img = cv2.imread('path_to_image.jpg', 1) # 创建窗口用于显示图像 cv2.imshow('Image Window Title', img) # 等待按键事件关闭窗口 cv2.waitKey(0) cv2.destroyAllWindows() ``` 这段代码展示了基本的文件输入/输出功能,同时也介绍了创建图形界面的方法来查看处理后的数据。 ### 高级应用实例:面部识别 更进一步的例子涉及到了更为复杂的算法——基于 Haar 特征的人脸检测器: ```python face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_frontalface_default.xml') gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray_img, scaleFactor=1.1, minNeighbors=5) for (x, y, w, h) in faces: cv2.rectangle(img, (x,y), (x+w,y+h),(255,0,0),2) cv2.imshow("Detected Faces", img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 上述脚本实现了从灰度化到特征提取再到最终绘制矩形框标记人脸位置的一系列流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山月相逢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值