首先是将rbg图像转换为HSI空间内,由于opencv3库中没有直接转换的函数,因此这个转换过程需要自己实现。转换的数学公式如下:
opencv实现的代码如下:
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat src = imread("D:\\VCprogress\\ConsoleApplication2\\三原色.bmp");
Mat dst = Mat(Size(src.rows, src.cols), CV_8UC3);
vector <Mat> channels;
split(src, channels);
Mat Hvalue = channels.at(0);
Mat Svalue = channels.at(1);
Mat Ivalue = channels.at(2);
for (int i = 0; i < src.rows; &#