-
大小: 56KB文件类型: .rar金币: 2下载: 0 次发布日期: 2021-05-29
- 语言: C#
- 标签: 图像处理 色阶 ColorLevel
资源简介
基于C#开发的图片色阶处理工具,按照PhotoShop的自动色阶10%的参数处理图片色阶。开放源代码可直接嵌入其他程序中。

代码片段和文件信息
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Imaging;
namespace AutoColorLevel
{
public partial class frmMain : Form
{
private string path = ““;
public frmMain()
{
InitializeComponent();
}
private void btnOpen_Click(object sender EventArgs e)
{
using (OpenFileDialog openFileDialog = new OpenFileDialog())
{
openFileDialog.Filter = “照片文件(*.jpg)|*.jpg“;
if (path == ““)
openFileDialog.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
else
openFileDialog.InitialDirectory = path;
openFileDialog.title = “请选择待处理的照片文件“;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
label1.Text = openFileDialog.FileName;
if(label1.Text!=““)
path = System.IO.Path.GetDirectoryName(label1.Text);
}
}
}
private void label1_TextChanged(object sender EventArgs e)
{
if (label1.Text == ““)
return;
try
{
pictureBox1.Image = Image.FromFile(label1.Text);
}
catch(Exception ex)
{
MessageBox.Show(“加载照片失败!\n“ + ex.Message “异常“ MessageBoxButtons.OK MessageBoxIcon.Exclamation);
label1.Text = ““;
}
}
private void btnAccept_Click(object sender EventArgs e)
{
if (label1.Text == ““)
{
return;
}
Bitmap bmp = new Bitmap(label1.Text);
Rectangle rect = new Rectangle(0 0 bmp.Width bmp.Height);
BitmapData bmpd = bmp.LockBits(rect System.Drawing.Imaging.ImageLockMode.ReadWrite bmp.PixelFormat);
AutoColorLevels(bmpd bmpd);
bmp.UnlockBits(bmpd);
pictureBox2.Image = (Image)bmp;
}
unsafe private static void AutoColorLevels(BitmapData bmpd BitmapData pbmpd)
{
int i = 0 j = 0 k = 0;
int m_Height = bmpd.Height m_Width = bmpd.Width;
double cutParam = 0.1d; //参照PhotoShop中的自动色阶的裁剪参数,此处设置为为0.1%
double doubleThreshod = bmpd.Height * bmpd.Width * cutParam * 0.01; //由于是0.1%,所以再×0.01
int[] HistBGR = new int[3 256]; //B G R
byte[] SpeedBGR = new byte[3 256];
int Threshold = Convert.ToInt32(doubleThreshod);
int Integral = 0;
int NewMin = 0;
int NewMax = 0;
byte* scan0 = (byte*)bmpd.Scan0.ToPointer();
byte* pscan0 = (byte*)pbmpd.Scan0.ToPointer();
byte* ptr pptr;
//获得直方图数组
for (i = 0; i <
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 47104 2016-07-25 11:13 AutoColorLevel\.vs\AutoColorLevel\v14\.suo
文件 189 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\App.config
文件 3763 2016-07-02 18:11 AutoColorLevel\AutoColorLevel\AutoColorLevel.csproj
文件 228 2016-07-01 18:49 AutoColorLevel\AutoColorLevel\AutoColorLevel.csproj.user
文件 13312 2016-07-02 18:42 AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.exe
文件 189 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.exe.config
文件 24064 2016-07-02 18:42 AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.pdb
文件 22696 2016-07-25 11:13 AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.vshost.exe
文件 189 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.vshost.exe.config
文件 490 2015-10-22 09:54 AutoColorLevel\AutoColorLevel\bin\Debug\AutoColorLevel.vshost.exe.manifest
文件 6893 2016-07-02 18:41 AutoColorLevel\AutoColorLevel\frmMain.cs
文件 7756 2016-07-02 17:34 AutoColorLevel\AutoColorLevel\frmMain.Designer.cs
文件 5817 2016-07-02 17:34 AutoColorLevel\AutoColorLevel\frmMain.resx
文件 1652 2016-07-25 11:13 AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.csproj.FileListAbsolute.txt
文件 1014 2016-07-02 18:42 AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.csproj.GenerateResource.Cache
文件 13312 2016-07-02 18:42 AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.exe
文件 180 2016-07-02 18:42 AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.frmMain.resources
文件 24064 2016-07-02 18:42 AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.pdb
文件 180 2016-07-02 18:42 AutoColorLevel\AutoColorLevel\obj\Debug\AutoColorLevel.Properties.Resources.resources
文件 1464 2016-07-02 14:54 AutoColorLevel\AutoColorLevel\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 6709 2016-07-02 18:11 AutoColorLevel\AutoColorLevel\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 528 2016-07-02 17:25 AutoColorLevel\AutoColorLevel\Program.cs
文件 1336 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\Properties\AssemblyInfo.cs
文件 2841 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\Properties\Resources.Designer.cs
文件 5612 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\Properties\Resources.resx
文件 1101 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\Properties\Settings.Designer.cs
文件 249 2016-07-01 14:45 AutoColorLevel\AutoColorLevel\Properties\Settings.settings
............此处省略16个文件信息
相关资源
- DCM文件转图像,并高清处理图像
- c#车牌识别系统附30张测试图片
- c#编写小envi,包括均值方差相关系数
- C#图像处理使用EMGUCV
- C#数字图像处理算法典型
- c#图像处理傅立叶变换 几何运算 直方
- c#数字图像处理(平滑、修正、锐化、
- 图像处理软件源码C#
- 数字图像处理设计软件C#版
- AForge.net
- C#数字图像处理算法典型赵春江随书源
- C# 图像处理
- C#编写数字图像处理程序
- C#数字图像处理 关于遥感图像处理的
- C#图像处理编程+源程序
- c#数字图像处理之几何运算
- c#数字图像处理之点运算及直方图
- c#图像处理源代码包含边缘检测,灰度
- C#图像处理源程序
- C# 图像处理 源代码 均值滤波 中值滤
- C#图像处理六项图片处理功能及截图工
- 基于矩阵的图像处理绘图软件源码
- 遥感图像处理课程设计代码
- C#数字图像处理算法典型随书光盘源码
- C# 数字图像处理技术光盘源码
- C#数字图像处理算法典型包含源码
- C#数字图像处理算法典型](随书光盘
- C# 图像处理、神经网络、遗传算法集
- C# 图像处理软件及其源码
- c#图像噪声平滑处理
评论
共有 条评论