C#图像亮度调整的方法
本文实例讲述了C#图像亮度调整的方法。分享给大家供大家参考。具体如下:
//定义数字图象处理之(亮度调整函数)
private static Bitmap BrightnessP(Bitmap a, int v)
{
System.Drawing.Imaging.BitmapData bmpData = a.LockBits(new Rectangle(0, 0, a.Width, a.Height), System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
int bytes = a.Width * a.Height * 3;
IntPtr ptr = bmpData.Scan0;
int stride = bmpData.Stride;
unsafe
{
byte* p = (byte*)ptr;
int temp;
for (int j = 0; j < a.Height; j++)
{
for (int i = 0; i < a.Width * 3; i++,p++)
{
temp = (int)(p[0] + v);
temp = (temp > 255) ? 255 : temp < 0 ? 0 : temp;
p[0] = (byte)temp;
}
p += stride - a.Width * 3;
}
}
a.UnlockBits(bmpData);
return a;
}
希望本文所述对大家的C#程序设计有所帮助。
相关推荐
-
C#图像对比度调整的方法
本文实例讲述了C#图像对比度调整的方法.分享给大家供大家参考.具体如下: //定义对比度调整函数 private static Bitmap ContrastP(Bitmap a, double v) { System.Drawing.Imaging.BitmapData bmpData = a.LockBits(new Rectangle(0, 0, a.Width, a.Height), System.Drawing.Imaging.ImageLockMode.ReadWrite, Syst
-
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#图像颜色聚类高效方法实例
本文实例讲述了C#图像颜色聚类高效方法.分享给大家供大家参考.具体分析如下: 图像颜色聚类的方法有很多,但是对于视频监控而言,现有方法很难满足实时性的要求,这里介绍一种位屏蔽压缩的方法实现颜色聚类,可以满足实时性的要求. 位屏蔽法就是在3D的RGB真彩空间中近似均匀采样的颜色压缩方法,即将屏蔽的颜色位置设置为0,具体可以采用移位运算来实现,这里我们以屏蔽RGB颜色分量末6位为例: public Bitmap PCluster(Bitmap a) { try { Rectangle rect =
-
C#图像处理之图像均值方差计算的方法
本文实例讲述了C#图像处理之图像均值方差计算的方法.分享给大家供大家参考.具体如下: //本函数均是基于RGB颜色空间计算 //定义图像均值函数(RGB空间) public double AnBitmap(Bitmap a) { double V = 0; Rectangle rect = new Rectangle(0, 0, a.Width, a.Height); System.Drawing.Imaging.BitmapData bmpData = a.LockBits(rect, Sys
-
C#图像处理之图像目标质心检测的方法
本文实例讲述了C#图像处理之图像目标质心检测的方法.分享给大家供大家参考.具体如下: //采用二值化图像,图像中黑色表示背景,白色表示目标 //定义质心计算函数 private int[] CentPoints(Bitmap src) { //定义存储质心坐标的数组变量 int[] CentreP = new int[2]; int M00 = 0, M01 = 0, M10 = 0; Rectangle rect = new Rectangle(0, 0, src.Width, src.Hei
-
C#图像灰度级拉伸的方法
本文实例讲述了C#图像灰度级拉伸的方法.分享给大家供大家参考.具体如下: //定义图像灰度拉伸函数 private static Bitmap GrayLP (Bitmap a) { Rectangle rect = new Rectangle(0, 0, a.Width, a.Height); System.Drawing.Imaging.BitmapData srcData = a.LockBits(rect, System.Drawing.Imaging.ImageLockMode.Rea
-
C#图像透明度调整的方法
本文实例讲述了C#图像透明度调整的方法.分享给大家供大家参考.具体如下: //定义图像透明度调整函数 public Bitmap PTransparentAdjust(Bitmap src,int num) { try { int w = src.Width; int h = src.Height; Bitmap dstBitmap = new Bitmap(src.Width, src.Height, System.Drawing.Imaging.PixelFormat.Format32bpp
-
C#图像线性变换的方法
本文实例讲述了C#图像线性变换的方法.分享给大家供大家参考.具体如下: //定义图像线性运算函数(y=kx+v) private static Bitmap LinearOP(Bitmap a, double k, double v) { Rectangle rect = new Rectangle(0, 0, a.Width, a.Height); System.Drawing.Imaging.BitmapData srcData = a.LockBits(rect, System.Drawi
-
C#图像处理之木刻效果实现方法
本文实例讲述了C#图像处理之木刻效果实现方法.分享给大家供大家参考.具体如下: //木刻效果 public Bitmap PFilterMuKe(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.Draw
-
C#数字图像处理之图像缩放的方法
本文实例讲述了C#数字图像处理之图像缩放的方法.分享给大家供大家参考.具体如下: //定义图像缩放函数 private static Bitmap ZoomP(Bitmap a, float s, float v) { Bitmap bmp = new Bitmap((int)(a.Width * s), (int)(a.Height * v), System.Drawing.Imaging.PixelFormat.Format24bppRgb); Graphics g = Graphics.F
-
C#图像处理之头发检测的方法
本文实例讲述了C#图像处理之头发检测的方法.分享给大家供大家参考.具体如下: //发色检测(YCbCr颜色空间) public Bitmap HairD(Bitmap a) { Rectangle rect = new Rectangle(0, 0, a.Width, a.Height); System.Drawing.Imaging.BitmapData bmpData = a.LockBits(rect, System.Drawing.Imaging.ImageLockMode.ReadWr
随机推荐
- 详解SQL Server数据库链接查询的方式
- 浅谈 java中ArrayList、Vector、LinkedList的区别联系
- 详解iOS开发中使用storyboard创建导航控制器的方法
- ASP.NET MVC使用Ajax的辅助的解决方法
- JS中mouseover和mouseout多次触发问题如何解决
- TinyMCE提交AjaxForm获取不到数据的解决方法
- mvc上传到美橙云虚拟机系列问题的解决方法
- form身份验证通过后,只能用FormsAuthentication.RedirectFromLoginPage
- dedecms模板标签代码官方参考
- Python模块结构与布局操作方法实例分析
- Android开发基于Drawable实现圆角矩形的方法
- Android开发教程之初识Android App
- css类选择器的使用方法详解
- JavaScript 判断日期格式是否正确的实现代码
- 多次注册事件会导致一个事件被触发多次的解决方法
- js 事件小结 表格区别
- 杨氏矩阵查找的JS代码
- javascript设计模式之中介者模式Mediator
- moneybookers的注册与激活
- android 捕获系统异常并上传日志具体实现
