Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static char[][] dilate(char[][] imgArr, char fGround, int range) {
- // Metodi skannaa kuva-arrayn läpi ja katsoo onko keskipisteellä, annetun kokoisessa naapurustossa etumerkkejä, jos on,
- // kasvatetaan ja yhdistetään kuvan kohteita muuntamalla keskipiste etumerkiksi ja palautetaan muunnettu taulukko.
- // Luodaan kopio kuvasta, sillä muuten dilaatio voi tulla liian suureksi jos
- // tarkistetaan muunnetun kuvan naapurusto sillä naapurustoon voisi muuten osua jo entuudestaan muunnettu merkki.
- char[][] copiedArray = copy2DTable(imgArr);
- // Määrittää ikkunan reunan koon.
- int winBorder = (range / 2);
- // Näiden pitäisi mennä arrayn joka merkin päältä
- for (int row = winBorder; row < copiedArray.length - winBorder; row++){
- for(int col = winBorder; col < copiedArray[row].length - winBorder; col++){
- boolean fGroundFound=false;
- //Näiden pitäis pyörittää "ikkunaa" ja tarkistaa jokasen kuvan merkin kohdalla onko naapurustossa fGroundia
- for(int winRow = row; winRow < range; winRow++){
- for(int winCol = col; winCol < range; winCol++){
- //Jos osuu "ikkunaan" fGround niin false -> true;
- if (copiedArray[winRow][winCol] == fGround)
- fGroundFound=true;
- //Pitäis selvittää, missä on imgArr[][] -keskimerkki, ja muuttaa se fGroundiksi.
- if (fGroundFound)
- //imgArr[keski][keski] = fGround;
- System.out.println("Found!");
- }
- }
- }
- }
- return imgArr;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement