-
大小: 56KB文件类型: .rar金币: 1下载: 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个文件信息
相关资源
- 图像处理各种颜色空间互相转换
- C# 数字图像处理 有关遥感图像处理的
- C# 数字图像处理,单色、Robers、Sobe
- c#图像处理bmp转化为灰度图片
- C#读取psd格式图片
- C#版图像处理界面,包含二值化、灰度
- C# 图像二值化
- 图像处理VS2017C#
- C#编写的图像均衡化、去噪、高斯模糊
- 图像处理代码C# 平滑去噪、锐化、伪
- C# 图像处理程序源代码
- GDI+鼠标绘制常规图形平衡缩放DEMO
- C#彩色图像处理RGB和HSI彩色空间、伪彩
- C#图像处理_多张图片在同一窗口浏览
- C#中基于GDI+(Graphics)图像处理工具(
- c# 源码 简单图像处理
- C# 水平交错效果显示图像
- winform 浮雕效果的图像
- c# 底片效果显示图像就像旧式相机的
- 积木效果显示图像
- browerPhotoC#网页截图(不打开网页)
- C#图像处理效果(浮雕/黑白/柔化/锐化
-
AForge.NET_fr
amework-2.1.3 一个C#下面的图 - com 图像处理算法
- digital C#编写的图像处理程序源码 一共
- C#写的图像处理函数,椒盐噪声,中值
- C#程序,载入图像,选取其中任意两点
- 基于C#的图像处理、神经网络、遗传算
- c#影像特征点提取
- C#实现批量图片格式转换功能 源码
评论
共有 条评论