OpenCV:创建图像

个人记录,不喜勿喷。
分享给有需要的人,代码质量勿喷。

一、创建灰度图

void CreateGray()
{
	int rows = 256;
	int cols = 512;
	cv::Mat img = cv::Mat::zeros(rows, cols, CV_8UC1);/* zeros可有可无 */
	for (int row = 0; row < rows; row++)
	{
		uchar* uc = img.data + row * img.step;
		for (int col = 0; col < cols; col++)
		{
			uc[0] = row;
			uc += 1;
		}
	}
	cv::imwrite("F:/gray.png", img, { 16, 1 });//0质量最高,默认为1
}

OpenCV:创建图像_第1张图片

二、创建彩色RGB图

void CreateRGB()
{
	int rows = 256;
	int cols = 512;
	cv::Mat img = cv::Mat::zeros(rows, cols, CV_8UC3);/* zeros可有可无 */
	for (int row = 0; row < rows; row++)
	{
		uchar* ucBGR = img.data + row * img.step;
		for (int col = 0; col < cols; col++)
		{
			int xjBlue = 255;
			int xjGreen = 0;
			int xjRed = 0;
			if ((200 < col) && (col < 300))
			{
				xjBlue = 0;
				xjGreen = 255;
				xjRed = 0;
			}
			else if ((300 <= col) && (col < cols))
			{
				xjBlue = 0;
				xjGreen = 0;
				xjRed = 255;
			}

			ucBGR[0] = xjBlue;
			ucBGR[1] = xjGreen;
			ucBGR[2] = xjRed;
			ucBGR += 3;
		}
	}
	cv::imwrite("F:/RGB.jpg", img, { 1, 95 });//100质量最高,默认为95
}

OpenCV:创建图像_第2张图片

你可能感兴趣的:(OpenCV,OpenCV,创建图像)