Advertisement
Guest User

Untitled

a guest
Apr 9th, 2020
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. bool czyKontrastuje(int glownyPixel, int lewyPixel, int gornyPixel, int dolnyPixel, int prawyPixel) {
  7.   bool czyLewyPixelKontrastuje = abs(glownyPixel - lewyPixel) > 128 && lewyPixel > -1;
  8.   bool czyPrawyPixelKontrastuje = abs(glownyPixel - prawyPixel) > 128 && prawyPixel > -1;
  9.   bool czyDolnyPixelKontrastuje = abs(glownyPixel - dolnyPixel) > 128 && dolnyPixel > -1;
  10.   bool czyGornyPixelKontrastuje = abs(glownyPixel - gornyPixel) > 128 && gornyPixel > -1;
  11.   return czyLewyPixelKontrastuje || czyPrawyPixelKontrastuje || czyGornyPixelKontrastuje || czyDolnyPixelKontrastuje;
  12. }
  13.  
  14. int main () {
  15.   fstream plik;
  16.   ofstream zapis;
  17.   plik.open("dane.txt");
  18.   int liczba;
  19.   int matrix[200][320];
  20.   int wiersz = 0;
  21.   int licznikPixeliKontrastujacych = 0;
  22.   while(!plik.eof()) {
  23.     for(int i=0; i<320; i++) {
  24.       plik >> liczba;
  25.       matrix[wiersz][i] = liczba;
  26.     }
  27.     wiersz++;
  28.   }
  29.  
  30.   for(int i=0; i<200; i++) {          //         [][]
  31.     for(int j=0; j<320; j++) {        //        ---------
  32.       int glownyPixel = matrix[i][j]; // [][] | [199][319]| [199][320]
  33.       int lewyPixel = matrix[i][j-1]; //        ---------
  34.       int prawyPixel = matrix[i][j+1];//         [200][319]
  35.       int gornyPixel = matrix[i-1][j];
  36.       int dolnyPixel = matrix[i+1][j];
  37.  
  38.       if(i-1 < 0) {
  39.         gornyPixel = -1;
  40.       }
  41.  
  42.       if(j-1 < 0) {
  43.         lewyPixel = -1;
  44.       }
  45.  
  46.       if(j+1 > 319) {
  47.         prawyPixel = -1;
  48.       }
  49.  
  50.       if(i+1 > 199) {
  51.         dolnyPixel = -1;
  52.       }
  53.  
  54.       if(czyKontrastuje(glownyPixel, lewyPixel, gornyPixel, dolnyPixel, prawyPixel) == true) {
  55.         licznikPixeliKontrastujacych++;
  56.       }
  57.  
  58.     }
  59.   }
  60.   cout << licznikPixeliKontrastujacych << endl;
  61.   return 0;
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement