关于C# getpixel获取图像中每个像素的值的问题,老提示y参数必须大于宽度.那位好心的哥们帮俺看下错在哪? 20
//图像高度宽度intwidth=pictureBox1.Image.Width;intheight=pictureBox1.Image.Height;int[,]I=n...
//图像高度宽度
int width = pictureBox1.Image.Width;
int height = pictureBox1.Image.Height;
int[,] I = new int[height,width];//整个图像的灰度矩阵
//将图像灰度值复制到I中
Color c = new Color();
int[,] r = new int[height, width];//存储整幅图像的红色分量的像素信息
int[,] g = new int[height, width];//存储整幅图像的绿色分量的像素信息
int[,] b = new int[height, width];//存储整幅图像的蓝色分量的像素信息
for (i = 0; i < height; i++) //整幅图像行(高)
{
for (j = 0; j < width; j++)//整幅图像列(宽)
{
c = bitmap1.GetPixel(i,j);//获取图片每个点灰度
r[i, j] = c.R; b[i, j] = c.B; g[i, j] = c.G;//分离出三个分量的值赋给相应的像素矩阵
I[i, j] = Convert.ToInt32(0.11 * r[i, j] + 0.59 * g[i, j] + 0.3 * b[i, j]);//获取整个图片的灰度图
}
} 展开
int width = pictureBox1.Image.Width;
int height = pictureBox1.Image.Height;
int[,] I = new int[height,width];//整个图像的灰度矩阵
//将图像灰度值复制到I中
Color c = new Color();
int[,] r = new int[height, width];//存储整幅图像的红色分量的像素信息
int[,] g = new int[height, width];//存储整幅图像的绿色分量的像素信息
int[,] b = new int[height, width];//存储整幅图像的蓝色分量的像素信息
for (i = 0; i < height; i++) //整幅图像行(高)
{
for (j = 0; j < width; j++)//整幅图像列(宽)
{
c = bitmap1.GetPixel(i,j);//获取图片每个点灰度
r[i, j] = c.R; b[i, j] = c.B; g[i, j] = c.G;//分离出三个分量的值赋给相应的像素矩阵
I[i, j] = Convert.ToInt32(0.11 * r[i, j] + 0.59 * g[i, j] + 0.3 * b[i, j]);//获取整个图片的灰度图
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询