Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void grayscaleIn5bits(const uint8_t* src, uint8_t* dst, const BITMAPINFOHEADER& infoHeader) {
- uint32_t dataSizeWithoutPitches = infoHeader.biWidth * infoHeader.biHeight * 3;
- for (int i = 0; i < dataSizeWithoutPitches; i +=3) {
- uint8_t BW;
- uint8_t r = src[i];
- uint8_t g = src[i + 1];
- uint8_t b = src[i + 2];
- std::cout <<" r:"<< (int)r;
- std::cout <<" g:"<< (int)g;
- std::cout <<" b:"<< (int)b;
- BW = 0.299 * r + 0.587 * g + 0.114 * b;
- std::cout<<" BW: " << (int)(BW>>3);
- std::cout << "\n";
- dst[i] = (BW>>3);
- dst[i + 1] = (BW>>3);
- dst[i + 2] = (BW>>3);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement