【文件属性】:
文件名称:图像处理的基础代码
文件大小:934B
文件格式:SLN
更新时间:2016-11-18 08:38:18
灰度翻转
private void 局部平滑ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (_PixArray == null || _PixArryNew == null)
{
MessageBox.Show("请先打开图像!");
return;
}
//------_PixArray及其他三维数组存储结构为:
//-------------_PixArray[颜色序列][行序列][列序列]
for (int b = 0; b < openImg_Info.i_bands; b++)//RGB颜色层循环
{
for (int l = 2; l < openImg_Info.i_lines - 2; l++)//图像行循环
{
for (int s = 2; s < openImg_Info.i_samples - 2; s++)//图像列循环
{
//在此处写你的代码
_PixArryNew[b][l][s] = (short)(255 - _PixArray[b][l][s]);
}
}
}
MessageBox.Show("处理完毕!");
foreach (Control ctrl in this.Controls)
{
ctrl.Enabled = false;
}
m_ThreadType = 3;
backgroundWorker1.RunWorkerAsync(m_ThreadType);
}
private void 线性拉伸ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (_PixArray == null || _PixArryNew == null)
{
MessageBox.Show("请先打开图像!");
return;
}
//------_PixArray及其他三维数组存储结构为:
//-------------_PixArray[颜色序列][行序列][列序列]
for (int b = 0; b < openImg_Info.i_bands; b++)//RGB颜色层循环
{
for (int l = 2; l < openImg_Info.i_lines - 2; l++)//图像行循环
{
for (int s = 2; s < openImg_Info.i_samples - 2; s++)//图像列循环
{
int x, y, grey, scale;
int greymin = 255;
int greymax = 0;
for (y = 0; y <= 199; y++)
for (x = 0; x <= 319; x++)
{
grey = _PixArray[b][l][s];
if (grey > greymax) { greymax = grey; }
if (grey < greymin) { greymin = grey; }
}
scale = (int)255 / (greymax - greymin);
for (y = 0; y <= 199; y++)
for (x = 0; x <= 319; x++)
{
grey = _PixArray[b][l][s] * scale;
// WritePixel(x + 350, y, grey);
}
_PixArryNew[b][l][s] = (short)(255 - _PixArray[b][l][s]);
}
}
}
MessageBox.Show("处理完毕!");
foreach (Control ctrl in this.Controls)
{
ctrl.Enabled = false;
}
m_ThreadType = 3;
backgroundWorker1.RunWorkerAsync(m_ThreadType);
}
private void 直方图均衡化ToolStripMenuItem_Click(object sender, EventArgs e)