伪彩色处理
文章目录
- 伪彩色处理
- 代码展示
- 效果展示
代码展示
#include<opencv2\opencv.hpp>
using namespace cv;int main()
{Mat img = imread("D:\\Images\\test2.png", 0);imshow("原图", img);Mat R = img.clone();Mat G = img.clone();Mat B = img.clone();int rows = img.rows;int cols = img.cols;for (int i = 0; i < rows; i++){for (int j = 0; j < cols; j++){int current = img.at<uchar>(i, j);if (0 < current && current <= 64){R.at<uchar>(i, j) = 0;G.at<uchar>(i, j) = 4 * current;B.at<uchar>(i, j) = 255;}else if (64 < current && current <= 128){R.at<uchar>(i, j) = 0;G.at<uchar>(i, j) = 255;B.at<uchar>(i, j) = (-4) * (current - 128);}else if (128 < current && current <= 192){R.at<uchar>(i, j) = 4 * (current - 128);G.at<uchar>(i, j) = 255;B.at<uchar>(i, j) = 0;}else{R.at<uchar>(i, j) = 255;G.at<uchar>(i, j) = (-4) * (current - 255);B.at<uchar>(i, j) = 0;}}}Mat imgArray[3];imgArray[0] = R;imgArray[1] = G;imgArray[2] = B;Mat newImg;merge(imgArray, 3, newImg);imshow("效果图", newImg);waitKey(0);return 0;
}
效果展示