Advertisement
Guest User

img2

a guest
Jan 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.15 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3. #include <stdio.h>
  4.  
  5. using namespace std;
  6.  
  7. //void processBrightness(unsigned char *data, int brightness, int datasize)
  8. //{
  9. //
  10. // for(int j=0;j < datasize ;j ++){ //SPRAWDZAM WARTOŚCI I JE KORYGUJE
  11. // if(data[j]>255){
  12. // data[j]=255; //or cout << "error" << endl; return;
  13. // }
  14. // else if(data[j]<0){
  15. // data[j]=0; //or cout << "error" << endl; return;
  16. // }
  17. // }
  18. //
  19. // if(brightness>100||brightness<-100)
  20. // {
  21. // cout << "error: wrong brightness value" << endl;
  22. // return;
  23. // }
  24. //
  25. // for(int j=0; j < datasize; j++){
  26. //
  27. // double tmp = (double)data[j];
  28. // tmp += brightness * 255 / 100;
  29. // if (tmp < 0){
  30. // tmp = 0;
  31. // }
  32. // else if (tmp > 255){
  33. // tmp = 255;
  34. // }
  35. // data[j]= tmp;
  36. //
  37. // }
  38. //
  39. //}
  40.  
  41. void processContrast(unsigned char *data, int contrast, int datasize)
  42. {
  43.  
  44. for(int j=0;j < datasize ;j ++){ //SPRAWDZAM WARTOŚCI I JE KORYGUJE
  45. if(data[j]>255){
  46. data[j]=255; //or cout << "error" << endl; return;
  47. }
  48. else if(data[j]<0){
  49. data[j]=0; //or cout << "error" << endl; return;
  50. }
  51. }
  52.  
  53. if(contrast>100||contrast<-100)
  54. {
  55. cout << "error: wrong contrast value" << endl;
  56. return;
  57. }
  58.  
  59.  
  60. double hlp = contrast*255/100;
  61. double factor = (255+hlp)/(255.01-hlp);
  62.  
  63. for(int i=0; i < datasize;i += 1){
  64. double tmp = (double)data[i];
  65. tmp += factor * (tmp-128)+128;
  66. if (tmp <0){
  67. tmp = 0;
  68. }
  69. else if (tmp > 255){
  70. tmp = 255;
  71. }
  72. data[i]= tmp;
  73.  
  74. }
  75. }
  76.  
  77. int main()
  78. {
  79. unsigned char tab[9] = {'1', ' ', 'G', 'g', '<', 't', 'z', '2', '3'};
  80. for (int i = 0; i < 9; i++)
  81. cout<<(int)tab[i]<<' ';
  82. cout<<endl;
  83. processContrast(&tab[0], -100, 9);
  84. for (int i = 0; i < 9; i++)
  85. cout<<(int)tab[i]<<' ';
  86. cout<<endl;
  87. return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement