Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. void latire_ingustare_histograma()
  2. {
  3. char fname[MAX_PATH];
  4. openFileDlg(fname);
  5. Mat img = imread(fname, CV_LOAD_IMAGE_GRAYSCALE);
  6. int *a = histogramaaux(img);
  7.  
  8. Mat cont = img.clone();
  9. int gOUTmin, gOUTmax;
  10. printf("Constrast:\n");
  11. printf("goutmin = ");
  12. scanf("%d", &gOUTmin);
  13. printf("goutmax = ");
  14. scanf("%d", &gOUTmax);
  15.  
  16. int imax = 0;
  17. int imin = 255;
  18.  
  19. for (int i = 0; i < 256; i++){
  20. if (a[i] != 0){
  21. imin = i;
  22. break;
  23. }
  24.  
  25. }
  26.  
  27. for (int i = 255; i >0; i--){
  28. if (a[i] != 0){
  29. imax = i;
  30. break;
  31. }
  32.  
  33. }
  34.  
  35. Mat contrast = img.clone();
  36.  
  37. float factor = (imax - imin);
  38. for (int i = 0; i < img.rows; i++)
  39. for (int j = 0; j < img.cols; j++){
  40. float aux = gOUTmin + (img.at<uchar>(i, j) - imin)*(gOUTmax - gOUTmin) / factor;
  41. if (aux > 255)
  42. aux = 255;
  43. if (aux < 0)
  44. aux = 0;
  45. contrast.at<uchar>(i, j) = (int)aux;
  46. }
  47. imshow("src", img);
  48. imshow("Contrast", contrast);
  49. waitKey(0);
  50.  
  51.  
  52. }
  53.  
  54. void corectia_gamma()
  55. {
  56. char fname[MAX_PATH];
  57. openFileDlg(fname);
  58. Mat img = imread(fname, CV_LOAD_IMAGE_GRAYSCALE);
  59. int *a = histogramaaux(img);
  60.  
  61. Mat gam = img.clone();
  62. float gamma;
  63. printf("gamma = ");
  64. scanf("%f", &gamma);
  65.  
  66. for (int i = 0; i < img.rows; i++)
  67. for (int j = 0; j < img.cols; j++){
  68. float aux = pow((float)img.at<uchar>(i, j) / 255, gamma) * 255; //l=255!!!!
  69. if (aux > 255)
  70. aux = 255;
  71. if (aux < 0)
  72. aux = 0;
  73. gam.at<uchar>(i, j) = (int)aux;
  74. }
  75. imshow("SRC", img);
  76. imshow("Corectia gamma", gam);
  77. waitKey(0);
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement