当前位置:首页C# > 正文

C#图像处理之灰色图转化为RGB图像

作者:野牛程序员:2023-12-25 12:17:09C#阅读 2483

灰度图像转换为RGB图像的C#代码如下:

using System;
using System.Drawing;

class Program
{
    static void Main()
    {
        // 读取灰度图像
        Bitmap grayImage = new Bitmap("gray_image.bmp");

        // 转换为RGB图像
        Bitmap rgbImage = GrayscaleToRGB(grayImage);

        // 保存RGB图像
        rgbImage.Save("rgb_image.bmp");

        Console.WriteLine("转换完成");
    }

    static Bitmap GrayscaleToRGB(Bitmap grayImage)
    {
        // 创建新的RGB图像
        Bitmap rgbImage = new Bitmap(grayImage.Width, grayImage.Height, System.Drawing.Imaging.PixelFormat.Format24bppRgb);

        for (int y = 0; y < grayImage.Height; y++)
        {
            for (int x = 0; x < grayImage.Width; x++)
            {
                // 获取灰度值
                Color grayColor = grayImage.GetPixel(x, y);
                int grayValue = (int)(grayColor.R * 0.299 + grayColor.G * 0.587 + grayColor.B * 0.114);

                // 创建新的RGB颜色
                Color rgbColor = Color.FromArgb(grayValue, grayValue, grayValue);

                // 在RGB图像中设置对应位置的像素值
                rgbImage.SetPixel(x, y, rgbColor);
            }
        }

        return rgbImage;
    }
}

请确保将代码中的文件路径替换为实际的灰度图像文件路径。这个例子中使用的是bmp格式的图像文件,可以根据实际情况修改代码以适应其他格式的图像。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击