Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (sOption == L"histogram")
- {
- const int pixNum = m_imgW * m_imgH;
- if (pixNum == 0)
- {
- __debugbreak();
- return;
- }
- int histogram[256] = { 0 };
- for (int x = 0; x < m_imgW; x++)
- {
- for (int y = 0; y < m_imgH; y++)
- {
- histogram[GetPixel(x, y)] += 1;
- }
- }
- float probabilities[256] = { 0.0f };
- for (int i = 0; i < 256; i++)
- {
- probabilities[i] = (float)histogram[i] / (float)pixNum;
- }
- int sum = 0;
- for (int i = 0; i < 256; i++)
- {
- sum += histogram[i];
- }
- float transform[256] = { 0.0f };
- for (int i = 0; i < 256; i++)
- {
- for (int j = 0; j <= i; j++)
- {
- transform[i] += probabilities[j];
- }
- }
- for (int x = 0; x < m_imgW; x++)
- {
- for (int y = 0; y < m_imgH; y++)
- {
- BYTE j = GetPixel(x, y);
- int value = transform[j] * 255.0f;
- SetPixel(x, y, value);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement