如何将两个值的最大值设置为一个像素
本文关键字:设置 像素 一个 最大值 两个 | 更新日期: 2023-09-27 17:58:56
我在Dimage.SetPixel"Dimage有两个参数,一个给它"它的图像扩展代码中使用了以下代码。
private void button6_Click(object sender, EventArgs e)
{
if (path == null)
{
MessageBox.Show("Please load an image");
return;
}
System.Drawing.Bitmap imageX = new Bitmap(pb1.Image);
System.Drawing.Bitmap image = AForge.Imaging.Image.Clone
(imageX, System.Drawing.Imaging.PixelFormat.Format24bppRgb);
ConservativeSmoothing filterX = new ConservativeSmoothing();
filterX.ApplyInPlace(image);
Grayscale filter = new Grayscale(0.2125, 0.7154, 0.0721);
Bitmap grayImage = filter.Apply(image);
int temp;
var imW = image.Width;
var imH = image.Height;
Bitmap Dimage = grayImage;
for (int i = 1; i <= imW; i++)
{
for (int j = 2; j <= imH-1; j++)
{
temp = Math.Max(Convert.ToInt32(grayImage.GetPixel(i, j - 1)), Convert.ToInt32(grayImage.GetPixel(i, j)));
Dimage.SetPixel(i,j) = Math.Max(temp, Convert.ToInt32(grayImage.GetPixel(i, j + 1)));
}
}
SetPixel需要3个参数:x、y、color。你只给它两个参数,然后以一种不同寻常的方式使用第三个参数。抱歉使用双关语,您应该将Max结果插入SetPixel的括号中。