【OpenCv】c++ 图像初级操作 | 图像灰度化
创始人
2024-05-31 20:13:37

文章目录

  • 一、图像
    • 1、图像信息
    • 2、图像种类
      • 1)二值图像:
      • 2)灰度图:
      • 3)彩色图:
  • 二、图像转化
    • 1、分离彩色图三个通道
    • 2、图像灰度化处理

一、图像

1、图像信息

Q:图像在计算机中怎么储存?
A:在计算机中用一般用M x N的矩阵来表示一幅尺寸大小为M x N的数字图像,矩阵元素的值就是该图像对应位置上的像素值。

对于计算机本地磁盘中的彩色图像,单机鼠标右键,选择“属性”,可以看到一幅图像的基本信息。

2、图像种类

1)二值图像:

Q:什么是二值图像?
A: 一幅二值图像的二维矩阵仅由 0、1 两个值构成,“0”代表黑色,“1”代表白色。二值图像可以看成是灰度图像的一个特例。
二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。

2)灰度图:

Q:什么是灰度图?
A: 灰度图是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色,但是灰度图像在黑色与白色之间还有许多级的颜色深度。

3)彩色图:

Q:什么是彩色图?
A: 彩色图的每个像素通常是由红(R)、绿(G)、蓝(B)三个分量来表示的。RGB 图像每一个像素的颜色值(由RGB三原色表示)直接存放在图像矩阵中,由于每一像素的颜色需由 R、G、B 三个分量来表示,M、N 分别表示图像的行列数,三个M x N的二维矩阵分别表示各个像素的 R、G、B 三个颜色分量。RGB图像的数据类型一般为 8 位无符号整形,通常用于表示和存放真彩色图像。

二、图像转化

1、分离彩色图三个通道

彩色图像在计算机中一般存储方式为 3 通道图像。图像的每一个像素都是由三个数字组成的向量量化的,最常见的是由 R,G ,B 三个分量来量化的。RGB模型的这三个元素的数值分别代表了三种基色,红、绿、蓝的亮度。我们可以通过split函数来分离这三个通道。

#include 
#include 
#include 
using namespace cv;
using namespace std;
int main() {Mat srcImage = imread("...\\dog.jpg");if (!srcImage.data)return 1;imshow("srcImage", srcImage);vector planes;split(srcImage, planes);imshow("B", planes[0]);imshow("G", planes[1]);imshow("R", planes[2]);waitKey(0);return 0;
}

运行结果如图所示

在彩色图像处理中,一般先分离通道,分别处理每一个单通道后再合并。

2、图像灰度化处理

#include 
#include 
#include 
using namespace cv;
using namespace std;
int main() {//读取源图像并转化为灰度图像cv::Mat srcImage = imread("...\\dog.jpg");if (!srcImage.data)return 1;//读取源图像并转化为灰度图像Mat srcGray;cvtColor(srcImage, srcGray, CV_RGB2GRAY);//显示源图像及灰度图像imshow("srcImage", srcImage);imshow("srcGray", srcGray);waitKey(0);return 0;
}

运行结果如图所示

相关内容

热门资讯

【营收拆解】博通 最新营收结构... 博通(AVGO)最新财报显示,公司本季度实现营业收入295.91亿美元。按业务划分:1. 产品收入2...
恶意对比拉踩!长安汽车发布声明 (来源:车联新生态)9月11日,长安汽车不实信息举报中心针对近日网传启源Q06发布会的不实信息发布声...
菲律宾海警:76人死亡,13人... 菲律宾客船起火事故死亡人数升至76人菲律宾海岸警卫队12日说,菲巴拉望省附近海域客船起火事故已造成7...
视频丨让 “看不见的服务” 被... 9月12日起,2026年服贸会迎来公众开放日。只需通过官网或公众号等平台提前预约,就可以亲临北京首钢...
三甲专家社区坐诊 七大专病门诊... 本报讯(大连新闻传媒集团/大连云记者张丽霞)“以后看眼睛,不用再往大医院跑了。”近日,在甘井子区泉水...