C#图像亮度调式与伪彩色图的处理教程(推荐)

如图,左图是效果,右图是原理,右图X轴代表图像一个像素点的灰度,Y轴代表RGB三个颜色对应的伪彩色图颜色。代码如下:

for (int y = 0; y < height; y++)
{
 for (int x = 0; x < width; x++)
 {
  Color c = bmp.GetPixel(x, y);
  int R = c.R; int G = c.G; int B = c.B;
  byte temp = (byte)(B * 0.114 + G * 0.587 + R * 0.299);
  if (temp >= 0 && temp <= 63)
  {
   bmp.SetPixel(x, y, Color.FromArgb(0, (byte)(4 * temp), (byte)255));
  }
  if (temp >= 64 && temp <= 127)
  {
   bmp.SetPixel(x, y, Color.FromArgb(0, 255, (byte)(510 - 4 * temp)));

  }
  if (temp >= 128 && temp <= 191)
  {
   bmp.SetPixel(x, y, Color.FromArgb((byte)(4 * temp - 510), 255, 0));
  }
  if (temp >= 192 && temp <= 255)
  {
   bmp.SetPixel(x,y, Color.FromArgb(255, (byte)(1022 - 4 * temp),0));
  }
 }
}

图像亮度调整:

for (int y = 50; y < 100; y++)
 {
  for (int x = 50; x < 100; x++)
  {
   // 处理指定位置像素的亮度

   Color c = b.GetPixel(x, y);

   int R = c.R; int G = c.G; int B = c.B;

   R = R + degree; if (R > 255) R = 255;

   G = G + degree; if (G > 255) G = 255;

   B = B + degree; if (B > 255) B = 255;

   b.SetPixel(x, y, Color.FromArgb(R, G, B));

  }

 }//其中degree是亮度阶梯度

以上这篇C#图像亮度调式与伪彩色图的处理教程(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • C#伪彩色处理的具体方法

    伪彩色处理是指将灰度图像转换成彩色图象.因为人眼对于彩色的分辨能力远高于对灰度图像的分辨能力,所以将灰度图像转换成彩色可以提高人眼对图像细节的辨别能力.伪彩色并不能真实的反映图像像的彩色情况. 效果图: 强度分层法和灰度级-彩色变换法: (1)强度分层法是伪彩色处理技术中最简单的一种. 在某个灰度级Li上设置一个平行于x-y平面的切割平面,切割平面下面的,即灰度级小于Li的像素分配给一种颜色,相应的切割平面上大于灰度级Li的像素分配给另一种颜色.这样切割结果可以分成两层的伪彩色.可以使用M个平面

  • C#图像伪彩色处理方法

    本文实例讲述了C#图像伪彩色处理方法.分享给大家供大家参考.具体如下: //灰度图转伪彩色图像函数 public Bitmap PGrayToColor(Bitmap src) { try { Bitmap a = new Bitmap(src); Rectangle rect = new Rectangle(0, 0, a.Width, a.Height); System.Drawing.Imaging.BitmapData bmpData = a.LockBits(rect, System.

  • C#图像亮度调式与伪彩色图的处理教程(推荐)

    如图,左图是效果,右图是原理,右图X轴代表图像一个像素点的灰度,Y轴代表RGB三个颜色对应的伪彩色图颜色.代码如下: for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { Color c = bmp.GetPixel(x, y); int R = c.R; int G = c.G; int B = c.B; byte temp = (byte)(B * 0.114 + G * 0.587 + R * 0.299

  • matplotlib实现显示伪彩色图像及色度条

    灰度图显示为伪彩色图 法一 import matplotlib.pyplot as plt img = plt.imread('C:/Users/leex/Desktop/lena.jpg') img_s = img[:,:,0]# 直接读入的img为3通道,这里用直接赋值的方法转为单通道 sc = plt.imshow(img_s) sc.set_cmap('hot')# 这里可以设置多种模式 plt.colorbar()# 显示色度条 效果 限制范围 import matplotlib.py

  • Python 数据科学 Matplotlib图库详解

    Matplotlib 是 Python 的二维绘图库,用于生成符合出版质量或跨平台交互环境的各类图形. 图形解析与工作流 图形解析 工作流 Matplotlib 绘图的基本步骤: 1  准备数据 2  创建图形 3 绘图 4 自定义设置 5 保存图形 6 显示图形 import matplotlib.pyplot as plt x = [1,2,3,4] # step1 y = [10,20,25,30] fig = plt.figure() # step2 ax = fig.add_subpl

  • win7系统下 vs2010 调式就关闭要重启处理方法

    进入我的文档 %appdata%\Microsoft\VisualStudio, 将 10.0 重命名.网上找的方法有些问题,可能找这路径很难找到啊. 于是自己 找了找 一般都在当前用户文件夹下 AppData\Roaming\Microsoft\VisualStudio 因为用的是vs10, 那我们就随便改一下就行了. 然后直接重启vs看看是不是问题解决了,这个方法希望能帮到大家.网上还有的说在调式的时候打开了金山杀毒软件,这个没有遇到过自己机器也没装这个软件.

  • node.js学习总结之调式代码的方法

    前言 你有没有曾经调式某段代码时,总觉得世界上有鬼? 你有没有曾经调式API时,总感觉是调用第三方的接口问题或者文档说明不对? 你有没有曾经调式一个bug 时,总感觉问题的来源是使用的方式不对? 你有没有在安装一个服务时,总感觉文档或者环境不相符合? 相信过程和方法,切勿被结果误导 ............ 概述 调式代码很多时候类似于查案一样,只是结果的重要程度不同,警察查案为的是人民安稳,而我们调式则是为了系统的安稳.既然这样我们就不要冤枉任何一段代码和程序,以免他们受到不合理的惩罚. 以下

  • 利用Js的console对象,在控制台打印调式信息测试Js的实现

    一次偶然的机会,打开百度的时候按下了F12,然后就见控制台里面输出了百度的招聘广告,感觉挺帅气的,再然后就有了这篇博文. 既然可以这样在控制台输出信息,那以后再调试Js的时候不就可以省去很多麻烦了嘛!避免不误人子弟,特意使用for(var i in console)查看了下各种浏览器控制台对console的支持, 结果如下: IE 11 控制台 log , info , warn , error , debug , assert , time , timeEnd , group , groupC

  • opencv调整图像亮度对比度的示例代码

    图像处理 图像变换就是找到一个函数,把原始图像矩阵经过函数处理后,转换为目标图像矩阵. 可以分为两种方式,即像素级别的变换和区域级别的变换 Point operators (pixel transforms) Neighborhood (area-based) operators 像素级别的变换就相当于\(p_{after}(i,j) = f(p_{before}(i,j))\),即变换后的每个像素值都与变换前的同位置的像素值有个函数映射关系. 对比度和亮度改变 线性变换 最常用的是线性变换.即

  • Python获取图片像素BGR值并生成纯色图

    目录 前言 依赖安装 代码 验证一下 前言 最近工作有个需求,获取某张图片某个像素颜色,生成该颜色的纯色图片.所以写了一个工具,分享给大家,如果大家也有一样的场景,可以直接使用. 依赖安装 需要使用opencv以及numpy.安装命令如下: pip install opencv-python -i https://pypi.douban.com/simple pip install numpy -i https://pypi.douban.com/simple 代码 不废话,上代码. #!/us

  • 利用Matlab实现图像亮度分布统计图

    写了一个输入图片,便会生成美观的图像各通道亮度分布图的函数,大概效果如下: 老样子,工具函数放在最前面,之后会介绍咋用这个函数: 工具函数 function HistogramPic(pic) FreqNum=zeros(size(pic,3),256); for i=1:size(pic,3) for j=0:255 FreqNum(i,j+1)=sum(sum(pic(:,:,i)==j)); end end ax=gca;hold(ax,'on');box on;grid on if si

  • 使用IntelliJ IDEA调式Stream流的方法步骤

    目录 前言 开篇 在使用Stream的地方打个断点 Debug方式运行 前言 今天有小伙伴问我Stream流该怎么调式的问题,在跟他讲了之后我觉得有必要分享给各位小伙伴这个调式技巧,终结bug指日可待! 开篇 相信点进来的都了解Stream流是什么?也肯定知道这是Java8的新特性之一,我就不过多介绍了,在日常的开发中挺常用的,下面就举一个简单的例子来教你们如何调式: 对以下集合进行去重并进行排序. List<String> strings = Arrays.asList("1&qu

随机推荐