下面是代码:
BitmapData edgedata = edgeBitmap.LockBits(new Rectangle(0, 0, edgeBitmap.Width, edgeBitmap.Height),
ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed); int stride = edgedata.Stride;
byte* address = (byte*)edgedata.Scan0.ToPointer();
for (int i = 0; i < 40; i++)
{
testpoint = ImageProcess.ScaleAnalysis.FindPoints(address, stride, new Size(edgeBitmap.Width, edgeBitmap.Height)); //
resultpoint = randHough(testpoint);
}
edgeBitmap.UnlockBits(edgedata);不知为什么,在第二次循环的时候,内存区的数据就被污染了,不知怎么回事?请高手指教
BitmapData edgedata = edgeBitmap.LockBits(new Rectangle(0, 0, edgeBitmap.Width, edgeBitmap.Height),
ImageLockMode.ReadWrite, PixelFormat.Format8bppIndexed); int stride = edgedata.Stride;
byte* address = (byte*)edgedata.Scan0.ToPointer();
for (int i = 0; i < 40; i++)
{
testpoint = ImageProcess.ScaleAnalysis.FindPoints(address, stride, new Size(edgeBitmap.Width, edgeBitmap.Height)); //
resultpoint = randHough(testpoint);
}
edgeBitmap.UnlockBits(edgedata);不知为什么,在第二次循环的时候,内存区的数据就被污染了,不知怎么回事?请高手指教
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货