C#图像亮度调式与伪彩色图的处理教程(推荐)
时间:2019-04-10
本文章向大家介绍C#图像亮度调式与伪彩色图的处理教程(推荐),主要包括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#图像亮度调式与伪彩色图的处理教程(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
- javascript:二叉搜索树 实现
- 自然语言处理 语言模型介绍
- 口水先擦干!从大数据看外卖如何拯救“忙”与“宅”
- javascript:巧用eval函数组装表单输入项为json对象
- Django——model基础
- java学习:日期的运算
- ORACLE:写Function时,传入参数变量名的注意事项
- spring boot 登录注册 demo (二) -- 数据库访问
- spring boot 登录注册 demo (三) -- 前后端传递
- python装饰器大详解
- spring boot 登录注册 demo (四) -- 体验小结
- jenkins 时区设置
- 什么样的密码才是安全的?
- MAC本遭遇ARP攻击的处理办法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 跟我一起 自己种一颗 AVL树(平衡二叉搜索树)吧!
- mybatis文件映射之利用collection定义关联集合(五)
- 【奇技淫巧】 -- 原地旋转数组
- mybatis文件映射之利用延迟加载解决collection分布查询(六)
- 【C++】攻克哈希表(unordered_map)
- 位图原理及实现 - 海量数据处理标配
- mybatis文件映射之利分布查询时传递多列值 (七)
- 位运算 - 初见
- Mybatis学习笔记(一)
- mybatis文件映射之鉴别器discriminator标签
- LeetCode刷题总结 -- 链表篇
- LeetCode刷题总结 -- 数组篇
- 剑指offer(07-09)题解
- 学以致用C++设计模式 之 “适配器模式”
- FTP文件管理项目(本地云)项目日报(九)