public int[] GetHisogram(Bitmap img)
{
BitmapData data = img.LockBits(new System.Drawing.Rectangle(0, 0, img.Width, img.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
int[] histogram = new int[256];
unsafe
{
byte* ptr = (byte*)data.Scan0;
int remain = data.Stride - data.Width * 3;
for (int i = 0; i < histogram.Length; i++)
histogram[i] = 0;
for (int i = 0; i < data.Height; i++)
{
for (int j = 0; j < data.Width; j++)
{
int mean = ptr[0] + ptr[1] + ptr[2];
mean /= 3;
histogram[mean]++;
ptr += 3;
}
ptr += remain;
}
}
img.UnlockBits(data);
img.Dispose();
return histogram;
}
謝謝 要delphi的
uj5u.com熱心網友回復:
delphi 有LockBits?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/124550.html
標籤:語言基礎/算法/系統設計
上一篇:idudpserver的問題
下一篇:支付寶加密方式
