灰度图与彩色图的区别
所谓灰度色,就是指纯白、纯黑以及两者中的一系列从黑到白的过渡色。我们平常说所的黑白照片、黑白
电视,实际上都应该称为灰度照片、灰度电视才确切。灰度色中不包含任何色相,即不存在红色、黄色这
样的颜色。灰度隶属于RGB 色域(色域指色彩范围)。
我们已经知道,在RGB 模式中三原色光各有256个级别。由于灰度的形成是RGB 数值相等。而RGB 数值
相等的排列组合是256个,那么灰度的数量就是256级。其中除了纯白和纯黑以外,还有254种中间过渡色。
纯黑和纯白也属于反转色。
灰度的通常表示方法是百分比,范围从0%到100%。Photoshop 中只能输入整数,在Illustrator 和GoLive 允
许输入小数百分比。
注意这个百分比是以纯黑为基准的百分比。与RGB 正好相反,百分比越高颜色越偏黑,百分比越低颜色越
偏白。
灰度最高相当于最高的黑,就是纯黑。灰度最低相当于最低的黑,也就是“没有黑”,那就是纯白。
下面看具体的代码:
#include<iostream>
#include"opencv2/opencv.hpp"
using namespace std;
using namespace cv;
int main(int argc, char *argv[])
{
Mat grayim(600,800,CV_8UC1);
Mat colorim(600,800,CV_8UC3);
int i;
int j;
for(i = 0; i<grayim.rows; i++)
for(j = 0;j<grayim.cols; j++)
grayim.at<uchar>(i,j) = (i+j)%255; //取得单通道图像某一个像素点的灰度值
for(i = 0; i<colorim.rows; i++)
for(j = 0;j<colorim.cols; j++)
{
Vec3b pixel;
pixel[0] = i%255; //b
pixel[1] = j%255; //g
pixel[2] = 0; //r
colorim.at<Vec3b>(i,j) = pixel; //取得多通道彩色图某一个像素点的rgb值
}
imshow("grayim",grayim);
imshow("colorim",colorim);
waitKey(0);//长时间的等待按键按下返回
return 0;
}
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">彩色图</span>

灰度图: