作者:未知
彩色图像转换为黑白图像时需要计算图像中每像素有效的亮度值,通过匹配像素
亮度值可以轻松转换为黑白图像。
计算像素有效的亮度值可以使用下面的公式:
Y=0.3RED+0.59GREEN+0.11Blue
然后使用 Color.FromArgb(Y,Y,Y) 来把计算后的值转换
转换代码可以使用下面的方法来实现:
[C#]
public Bitmap ConvertToGrayscale(Bitmap source)
{
Bitmap bm = new Bitmap(source.Width,source.Height);
for(int y=0;y<bm.Height;y++)
{
for(int x=0;x<bm.Width;x++)
{
Color c=source.GetPixel(x,y);
int luma = (int)(c.R*0.3 + c.G*0.59+ c.B*0.11);
bm.SetPixel(x,y,Color.FromArgb(luma,luma,luma));
}
}
return bm;
}
[VB]
Public Function ConvertToGrayscale()Function ConvertToGrayscale(ByVal source As Bitmap) as Bitmap
Dim bm as new Bitmap(source.Width,source.Height)
Dim x
Dim y
For y=0 To bm.Height
For x=0 To bm.Width
Dim c as Color = source.GetPixel(x,y)
Dim luma as Integer = CInt(c.R*0.3 + c.G*0.59 + c.B*0.11)
bm.SetPixel(x,y,Color.FromArgb(luma,luma,luma)
Next
Next
Return bm
End Function
当然了这是一个好的方法,如果需要更简单的做到图像的色彩转换还可以使用ColorMatrix类
分享到:
相关推荐
15.如何将彩色图像转换成黑白图像?(Visual C++编程 源代码)15.如何将彩色图像转换成黑白图像?(Visual C++编程 源代码)15.如何将彩色图像转换成黑白图像?(Visual C++编程 源代码)15.如何将彩色图像转换成...
摘要:VC/C++源码,图形处理,彩色转换 VC++将彩色图像转换成黑白图像源代码,图像灰度转换的一个示例程序,基于VC++源码实现,供VC初学者参考。
彩色bmp图像 转换 黑白bmp图像,包含24位深度彩色图像读取
彩色图片转换成黑白图片(VB代码).rar
Gray image to Color image conversion MATLAB 黑白图像 彩色图像
彩色图像转换为黑白图像时需要计算图像中每像素有效的亮度值,通过匹配像素 亮度值可以轻松转换为黑白图像。 计算像素有效的亮度值可以使用下面的公式: Y=0.3RED+0.59GREEN+0.11Blue 然后使用 Color.FromArgb(Y...
通过新建一个窗体,在窗体中通过按钮事件处理程序,通过内存法、提取像素法和指针法实现,将衣服彩色图像转换为灰度图像。并且可以保存已得到的灰度图像。
Java彩色图片转换黑白(灰度图),是对Java图像缓冲区的图像进行灰度图处理,再输出到窗口中显示,对于图像处理来说,对缓冲区图像进行操作,这个方法是比较普遍的,效果也不错。
1)将一张彩色图片转换成黑白图片,然后再将其转换回彩色图片。 2)将RGB颜色空间转换为HSV颜色空间。 3)实现一种图像增强算法,可以根据输入的彩色图片增强其对比度和饱和度。 4)实现彩色图像平滑 5)实现彩色...
摘要:VC/C++源码,图形处理,黑白图像 VC++.net将彩色图像转换成黑白图像,有三种转换效果,大同小异,原理基本一样,源代码开源,VC++.NET图像处理参考实例源码下载。
NULL 博文链接:https://zhaoshijie.iteye.com/blog/1849296
本文实例讲述了JavaScript+Canvas实现彩色图片转换成黑白图片的方法。分享给大家供大家参考,具体如下: 1、convertToGray() 在主体代码中使用 canvas 元素的id来获取画布,并设置画布的宽和高为图片的宽和高,再将...
接到一个问题问我,用OpenCV将彩色视频转换为灰度视频并存储到本地磁盘的实践失败,之所以无法存储提问人怀疑是视频编码的问题。 (二)问题的分析 1.OpenCV作为一个非常好的辅助编程的东西,应该是经受得住考验的...
ImageHTML能够转换图像为ASCII字符并保存为HTML格式。 支持三中方式:真彩色、灰度或者黑白图。
C#RGB彩色图像转黑白灰度化图像源码,经过测试可以使用,带有注释。适合初学者使用
用于处理labview二值化图像的颜色,是二值化的图像从红黑变为黑白
将二进制(黑白)图像重新格式化为真彩色 RGB 图像,以便原始黑白图像可以重新着色。 应用包括对象识别、标记、重点着色和边缘检测。
基于python脚本的GUI界面,可将黑白图像转换为彩色图像。 安装 使用软件包管理器安装软件包。 pip install numpy pip install opencv_contrib_python 用法 将所有黑白图像保留在./images/bw文件夹中。 因此,脚本...
内容概要:图像处理工具类,图像任意格式互相转换,彩色图像转换为黑白图像,图像按尺寸或按比例放大和缩小,读取本地(文件流或文件名)图像,读取网络图像,截取图像,按指定格式输出,获取指定图像的大小和尺寸,...