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#图像灰度级拉伸的方法.分享给大家供大家参考.具体如下: //定义图像灰度拉伸函数 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#图像处理之图像目标质心检测的方法.分享给大家供大家参考.具体如下: //采用二值化图像,图像中黑色表示背景,白色表示目标 //定义质心计算函数 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#图像处理之图像均值方差计算的方法.分享给大家供大家参考.具体如下: //本函数均是基于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#图像伪彩色处理方法.分享给大家供大家参考.具体如下: //灰度图转伪彩色图像函数 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#数字图像处理之图像缩放的方法.分享给大家供大家参考.具体如下: //定义图像缩放函数 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#图像透明度调整的方法.分享给大家供大家参考.具体如下: //定义图像透明度调整函数 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#图像处理之木刻效果实现方法.分享给大家供大家参考.具体如下: //木刻效果 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#图像颜色聚类高效方法.分享给大家供大家参考.具体分析如下: 图像颜色聚类的方法有很多,但是对于视频监控而言,现有方法很难满足实时性的要求,这里介绍一种位屏蔽压缩的方法实现颜色聚类,可以满足实时性的要求. 位屏蔽法就是在3D的RGB真彩空间中近似均匀采样的颜色压缩方法,即将屏蔽的颜色位置设置为0,具体可以采用移位运算来实现,这里我们以屏蔽RGB颜色分量末6位为例: public Bitmap PCluster(Bitmap a) { try { Rectangle rect =
-
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
-
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
随机推荐
- java 面向对象面试集锦
- C#实现pdf导出 .Net导出pdf文件
- PDO操作MySQL的基础教程(推荐)
- php用数组返回无限分类的列表数据的代码
- Yii2实现log输出到file及database的方法
- PHP 多维数组排序(usort,uasort)
- Shell编程中的特殊变量之进程状态变量介绍
- JSON格式的时间/Date(2367828670431)/格式转为正常的年-月-日 格式的代码
- 解决在SQL脚本中的注释引起的奇怪问题
- oracle更新xml节点问题的一些细节
- js和jQuery设置Opacity半透明 兼容IE6
- js+html5实现的自由落体运动效果代码
- Kotlin实现静态方法
- c++递归解数独方法示例
- vue指令之表单控件绑定v-model v-model与v-bind结合使用
- Vue头像处理方案小结
- python实现合并多个list及合并多个django QuerySet的方法示例
- mysql命令行爱好者必备工具mycli
- 通过Java添加Word文本框过程详解
- 解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题