我自己写了个软件,扫描整个图片,然后找出特定大小的像素(颜色),实际中用来检测产品缺陷。
这段代码是填充整个pictruebox,可以看出填充速度非常慢,远远不能满足实际需要。
实际中,我需要扫描整个pictruebox。请指点下用哪种方式能快速完成整个图像像素点的扫描
private void button4_Click(object sender, EventArgs e)
{
for (m = 0; m < 284; m++)
{
for (n = 0; n < 288; n++)
{
// Color color = new Bitmap(pictureBox1.Image).GetPixel(m + 12, n + 7);
// textBox3.Text = color.ToString();
Pen p = new Pen(Color.Red, 1);
Graphics g = pictureBox1.CreateGraphics();
g.DrawLine(p, m , n, m+1 , n);
}
}
}
http://blog.sina.com.cn/s/blog_777d52410101l5v1.html
不妨利用矩阵的思想,采用折线式的探测,比如下三角区域,这样代码的执行速度就会提升起码一倍,
然后在使用固定大小内的随机访问来优化,还能载体升代码的执行速度,希望对你有用 :-)