Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- #include <stdio.h>
- using namespace std;
- //void processBrightness(unsigned char *data, int brightness, int datasize)
- //{
- //
- // for(int j=0;j < datasize ;j ++){ //SPRAWDZAM WARTOŚCI I JE KORYGUJE
- // if(data[j]>255){
- // data[j]=255; //or cout << "error" << endl; return;
- // }
- // else if(data[j]<0){
- // data[j]=0; //or cout << "error" << endl; return;
- // }
- // }
- //
- // if(brightness>100||brightness<-100)
- // {
- // cout << "error: wrong brightness value" << endl;
- // return;
- // }
- //
- // for(int j=0; j < datasize; j++){
- //
- // double tmp = (double)data[j];
- // tmp += brightness * 255 / 100;
- // if (tmp < 0){
- // tmp = 0;
- // }
- // else if (tmp > 255){
- // tmp = 255;
- // }
- // data[j]= tmp;
- //
- // }
- //
- //}
- void processContrast(unsigned char *data, int contrast, int datasize)
- {
- for(int j=0;j < datasize ;j ++){ //SPRAWDZAM WARTOŚCI I JE KORYGUJE
- if(data[j]>255){
- data[j]=255; //or cout << "error" << endl; return;
- }
- else if(data[j]<0){
- data[j]=0; //or cout << "error" << endl; return;
- }
- }
- if(contrast>100||contrast<-100)
- {
- cout << "error: wrong contrast value" << endl;
- return;
- }
- double hlp = contrast*255/100;
- double factor = (255+hlp)/(255.01-hlp);
- for(int i=0; i < datasize;i += 1){
- double tmp = (double)data[i];
- tmp += factor * (tmp-128)+128;
- if (tmp <0){
- tmp = 0;
- }
- else if (tmp > 255){
- tmp = 255;
- }
- data[i]= tmp;
- }
- }
- int main()
- {
- unsigned char tab[9] = {'1', ' ', 'G', 'g', '<', 't', 'z', '2', '3'};
- for (int i = 0; i < 9; i++)
- cout<<(int)tab[i]<<' ';
- cout<<endl;
- processContrast(&tab[0], -100, 9);
- for (int i = 0; i < 9; i++)
- cout<<(int)tab[i]<<' ';
- cout<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement