OpenCv图像RGB-HSV/RGB-GREY转换以及结果显示

操作平台:vs2017+OpenCv3.41

图像:<注:实验图像像素为16*10>

OpenCv图像RGB-HSV/RGB-GREY转换以及结果显示_第1张图片

1 RGB像素点输出结果

在OpenCv中RGB占据三通道,类似于树状结构,每个像素点下面有三个子节点。下面为RGB三通道输出代码以及输出结果:
注:matlab 的排列顺序是R,G,B; 而在opencv中,排列顺序是B,G,R。
代码:

#include "highgui.h"
#include
using namespace cv;
using namespace std;
int main()
{
	char key;
	Mat img, imgdst;
	Mat dst;
	img = imread("4.png");
	int kkk = 0;
	for (int i = 0; i < img.rows; i++)
	{
		for (int j = 0; j < img.cols; j++)
		{
			Vec3f vec_3 = img.at<Vec3b>(i, j);
			cout << "B:" << vec_3[0] << " G:" << vec_3[1] << " R:" << vec_3[2] << endl;
		}
		cout << endl;
	}
	key = (char)cvWaitKey(0);
	return 0;
}

实验结果:
OpenCv图像RGB-HSV/RGB-GREY转换以及结果显示_第2张图片
由于数据有点多就没全部截下来。

2 RGB->GREY

下面是图像RGB颜色空间转换为灰度颜色空间代码,并将其结果打印在屏幕上:
代码:

#include "highgui.h"
#include
using namespace cv;
using namespace std;
int main()
{
	char key;
	Mat img, imgdst;
	Mat dst;
	img = imread("4.png");
	cvtColor(img, dst, CV_RGB2GRAY);        //彩色到灰度转换函数
	int kkk = 0;
	for (int i = 0; i < S.rows; i++)
	{
		for (int j = 0; j < S.cols; j++)
		{
			cout << (float)dst.at<uchar>(i,j)<<" ";//打印灰度图
		}
		cout << endl;
	}
	key = (char)cvWaitKey(0);
	return 0;
}

实验结果:
灰度数据
OpenCv图像RGB-HSV/RGB-GREY转换以及结果显示_第3张图片

3 RGB->HSV

H:色调
S:饱和度
V:亮度
将RGB颜色空间转为HSV空间,可以通过HSV空间对图像进行增强。
不说了,直接上代码:
代码:

//#include "cv.h"
#include "highgui.h"

#include "MSRCR.h"
#include
#include "iostream"

using namespace cv;
using namespace std;

int main()
{
	char key;
	Mat img, imgdst;
	img = imread("4.png");
	Mat dst;
	cvtColor(img, imgdst, CV_BGR2HSV_FULL);    //RGB->HSV
	imshow("HSV", imgdst);
	vector<Mat> hsv_channels;
	split(imgdst, hsv_channels);
	Mat H = hsv_channels.at(0);
	Mat S = hsv_channels.at(1);
	Mat V = hsv_channels.at(2);
	imshow("H", H);
	imshow("S", S);
	imshow("V", V);
	for (int i = 0; i < V.rows; i++)
	{
		for (int j = 0; j < V.cols; j++)
		{
			cout << (float)V.at<uchar>(i,j)<<" ";
		}
		cout << endl;
	}
	key = (char)cvWaitKey(0);
	return 0;
}

实验结果:
V通道数据
OpenCv图像RGB-HSV/RGB-GREY转换以及结果显示_第4张图片
HSV图像:
OpenCv图像RGB-HSV/RGB-GREY转换以及结果显示_第5张图片

你可能感兴趣的:(图像增强)