private void initFilter() { if(filtervalue==1) { filter=new float[3][3]; for(int i=0;i<3;i++) filter[i][0]=0; filter[0][1]=0; filter[1][1]=0; filter[2][1]=7/16; filter[0][2]=3/16; filter[1][2]=5/16; filter[2][2]=1/16; } else if(filtervalue==2) { filter=new float[5][3]; for(int i=0;i<5;i++) filter[i][0]=0; filter[0][1]=0; filter[1][1]=0; filter[2][1]=0; filter[3][1]=8/32; filter[4][1]=4/32; filter[0][2]=2/32; filter[1][2]=4/32; filter[2][2]=8/32; filter[3][2]=4/32; filter[4][2]=2/32; } else if(filtervalue==3) { filter=new float[5][5]; for(int i=0;i<5;i++) filter[i][0]=0; for(int i=0;i<5;i++) filter[i][1]=0; filter[0][2]=0; filter[1][2]=0; filter[2][2]=0; filter[3][2]=8/42; filter[4][2]=4/42; filter[0][3]=2/42; filter[1][3]=4/42; filter[2][3]=8/42; filter[3][3]=4/42; filter[4][3]=2/42; filter[0][4]=1/42; filter[1][4]=2/42; filter[2][4]=4/42; filter[3][4]=2/42; filter[4][4]=1/42; } } public void initImage() { System.out.println("INIT IMAGE function in topleftcanvas"); if(image!=null) { int w=image.getWidth(null); int h=image.getHeight(null); int pixels[]=controler.getPixelsOfImage(); float [][]imagearray=new float[w][h]; for(int x=0;x> 16; int blue = (c & 0x0000ff00) >> 8; int green = c & 0x000000ff; imagearray[x][y]=((float)(red+blue+green))/(3*255); } } for(int x=0;x> 16; int blue = (c & 0x0000ff00) >> 8; int green = c & 0x000000ff; */ int K=approximate(imagearray[x][y]); //Color kolorek = new Color(red,blue,green); color[0]=K; color[1]=K; color[2]=K; raster.setPixel(x, y, color); float error=imagearray[x][y]-K; int f_x=1; int f_y=1; if(filtervalue==2||filtervalue==3) f_x=2; if(filtervalue==3) f_y=2; for (int i=-f_x; i<+f_x; i++) for (int j=-f_y; j<+f_y; j++) if(x+i>=0&&y+j>=0&&x+i(0.5)) return 255; else return 0; }