Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.84 KB | None | 0 0
  1. char fname[MAX_PATH];
  2. openFileDlg(fname);
  3. Mat img = imread(fname, CV_LOAD_IMAGE_GRAYSCALE);
  4. int *a = histogramaaux(img);
  5.  
  6. Mat cont = img.clone();
  7. int gOUTmin, gOUTmax;
  8. printf("Constrast:\n");
  9. printf("goutmin = ");
  10. scanf("%d", &gOUTmin);
  11. printf("goutmax = ");
  12. scanf("%d", &gOUTmax);
  13.  
  14. int imax = 0;
  15. int imin = 255;
  16.  
  17. for (int i = 0; i < 256; i++){
  18. if (a[i] != 0){
  19. imin = i;
  20. break;
  21. }
  22.  
  23. }
  24.  
  25. for (int i = 255; i >0; i--){
  26. if (a[i] != 0){
  27. imax = i;
  28. break;
  29. }
  30.  
  31. }
  32.  
  33. Mat contrast = img.clone();
  34.  
  35. float factor = (imax - imin);
  36. for (int i = 0; i < img.rows; i++)
  37. for (int j = 0; j < img.cols; j++){
  38. float aux = gOUTmin + (img.at<uchar>(i, j) - imin)*(gOUTmax - gOUTmin) / factor;
  39. contrast.at<uchar>(i, j) = (int)aux;
  40. }
  41. imshow("src", img);
  42. imshow("Contrast", contrast);
  43. waitKey(0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement