Win8Metro(C#)数字图像处理--2.7图像伪彩色
原文:Win8Metro(C#)数字图像处理--2.7图像伪彩色



2.7图像伪彩色函数

[函数名称]

图像伪彩色函数PseudoColorProcess(WriteableBitmap src)

[算法说明]

伪彩色是为改善视觉效果,利用计算机图像增强技术对图像的灰度赋予的不同假色彩,即,将一张灰度图转化为彩色图。主要原理是把灰度图像的各个不同灰度级按照线性或非线性的映射函数变换成为不同的彩色空间。

本文采用基于RGB颜色空间的伪彩色映射算法。过程如下:

 [函数代码]

///<summary>

/// Pseudo color process.

///</summary>

///<param name="src">Source image.</param>

///<returns></returns>

publicstaticWriteableBitmap PseudoColorProcess(WriteableBitmap src)7伪彩色处理

{

if(src!=null )

{

int w = src.PixelWidth;

int h = src.PixelHeight;

WriteableBitmap pseudoImage =newWriteableBitmap(w, h);

byte[] temp = src.PixelBuffer.ToArray();

int tGray = 0;

for (int i = 0; i < temp.Length; i += 4)

{

tGray = (int)(temp[i] * 0.114 + temp[i + 1] * 0.587 + temp[i + 2] * 0.299);

if (tGray >= 0 && tGray <= 63)

{

temp[i] = (byte)255;

temp[i + 1] = (byte)(254 - 4 * tGray);

temp[i + 2] = 0;

}

if (tGray >= 64 && tGray <= 127)

{

temp[i] = (byte)(510 - 4 * tGray);

temp[i + 1] = (byte)(4 * tGray - 254);

temp[i + 2] = (byte)0;

}

if (tGray >= 128 && tGray <= 191)

{

temp[i] = (byte)0;

temp[i + 1] = (byte)255;

temp[i + 2] = (byte)(4 * tGray - 510);

}

if (tGray >= 192 && tGray <= 255)

{

temp[i] = (byte)0;

temp[i + 1] = (byte)(1022 - 4 * tGray);

temp[i + 2] = (byte)255;

}

tGray = 0;

}

Stream sTemp = pseudoImage.PixelBuffer.AsStream();

sTemp.Seek(0,SeekOrigin.Begin);

sTemp.Write(temp, 0, w * 4 * h);

return pseudoImage;

}

else

{

returnnull;

}

}




posted on 2018-03-13 10:00 NET未来之路 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/8553980.html

Win8Metro(C#)数字图像处理--2.7图像伪彩色相关推荐

  1. Win8Metro(C#)数字图像处理--2.3图像反色

    原文:Win8Metro(C#)数字图像处理--2.3图像反色 [函数名称] 图像反色函数ContraryProcess(WriteableBitmap src) [算法说明] 反色公式如下:     ...

  2. Win8Metro(C#)数字图像处理--2.33图像非线性变换

    原文:Win8Metro(C#)数字图像处理--2.33图像非线性变换  [函数名称] 图像非线性变换函数NonlinearTransformProcess(WriteableBitmap src ...

  3. Win8Metro(C#)数字图像处理--2.18图像平移变换

    原文:Win8Metro(C#)数字图像处理--2.18图像平移变换  [函数名称] 图像平移变换函数TranslationProcess(WriteableBitmap src,int x,in ...

  4. Win8Metro(C#)数字图像处理--2.26图像减法

     [函数名称] 图像减法函数SubtractionProcess(WriteableBitmap src, WriteableBitmap subSrc) [算法说明] 图像减法就是将两幅图像对应 ...

  5. Win8Metro(C#)数字图像处理--2.32图像曝光算法

     [函数名称] 图像曝光函数ExposureProcess(WriteableBitmap src,int exposureValue) [函数代码] /// <summary> // ...

  6. Win8Metro(C#)数字图像处理--2.17图像木刻效果

     [函数名称] 图像木刻效果函数WoodCutProcess(WriteableBitmap src) [函数代码] ///<summary> /// Wood cut process ...

  7. Win8Metro(C#)数字图像处理--2.14Prewitt 边缘检测

    原文:Win8Metro(C#)数字图像处理--2.14Prewitt 边缘检测  [函数名称] 图像Prewitt边缘检测函数PrewittEdgeProcess(WriteableBitmap ...

  8. Win8Metro(C#)数字图像处理--2.24二值图像闭运算

    原文:Win8Metro(C#)数字图像处理--2.24二值图像闭运算  [函数名称] 二值图像闭运算函数CloseOperateProcess(WriteableBitmap src) [算法说 ...

  9. Win8Metro(C#)数字图像处理--2.12Sobel边缘检测

    原文:Win8Metro(C#)数字图像处理--2.12Sobel边缘检测  [函数名称] 图像Sobel边缘检测函数SobelEdgeProcess(WriteableBitmap src) [ ...

最新文章

  1. 大牛书单 | 系统架构方向好书推荐
  2. SELinux深入理解
  3. 数据链路层:SLIP(串型线路IP) PPP(点对点协议)
  4. random对文件随机重命名
  5. 华为p10和p10plus区别_华为p10和p10plus哪个好 华为p10与p10plus区别对比【图文】
  6. 简单mysql优化_mysql常见语句的简单优化策略
  7. JavaScript密码复杂度
  8. TestNG参数化测试
  9. MySQL关联eclipse_MySQL JDBC 连接数据库基本操作
  10. js工作笔记001---javascript中(function($){...})(jQuery)写法是什么意思
  11. Linux内核中的proc文件系统
  12. python中jieba分词快速入门
  13. 如何去掉word中的回车符??
  14. 关于iptables封禁国外ip的方法
  15. E71(S60 3rd)通话录音软件 -终极录音- 的用法
  16. jmeter性能测试~Beanshell
  17. 高级职称计算机考试要求考a级,全国职称计算机考试有哪些级别
  18. PyTorch深度学习快速入门教程(绝对通俗易懂!!!)
  19. VIVADO学习笔记之--DONT_TOUCH
  20. 17. 进圈 编程练习

热门文章

  1. 【BootStrap笔记】BootStrap+css写旅游网页面
  2. ffmpeg 从内存中读取数据(或将数据输出到内存)
  3. mysql c库 示例_选择MySQL数据库进行连接的简单示例
  4. java 管理系统 注释_员工管理系统--带注释--oracle系统--java项目
  5. jQuery 学习-样式篇(二):jQuery 对象与原生 DOM 对象
  6. Java终结符_从零开始写个编译器吧 - TerminalSymbol.java 与 NonTerminalSymbol.java
  7. 【2020模拟考试T4】【PAT乙】1034 有理数四则运算 (20分) 测试点2
  8. ddwrt 扩张linux分区,『2010.8.9』DDWRT脱机下载+架设网站修正加强版tar.gz模式发布(修复下载地址)...
  9. 终面后拿offer几率_战绩 | 恭喜VIP学员斩获德勤(北京)风险分析师全职Offer!...
  10. wdatepicker 设置只显示时分_液晶显示多功能电力仪表EX8-33