September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -0,0 +1,14 @@
FUNCTION MEDIANF,ARRAY,WINDOW
RET=fltarr(N_ELEMENTS(ARRAY),1)
EDGEX=WINDOW/2
FOR X=EDGEX, N_ELEMENTS(ARRAY)-EDGEX DO BEGIN
PRINT, "X", X
COLARRAY=fltarr(WINDOW,1)
FOR FX=0, WINDOW-1 DO BEGIN
COLARRAY[FX]=ARRAY[X + FX - EDGEX]
END
T=COLARRAY[SORT(COLARRAY)]
RET[X]=T[WINDOW/2]
END
RETURN, RET
END

View file

@ -0,0 +1 @@
Result = MEDIANF(ARRAY, WINDOW)

View file

@ -0,0 +1,14 @@
fcn medianFilter(img){ //-->new image
var [const] window=[-2..2].walk(), edge=(window.len()/2); // 5x5 window
MX,MY,new := img.w,img.h,PPM(MX,MY);
pixel,pixels:=List(),List();
foreach x,y in ([edge..MX-edge-1],[edge..MY-edge-1]){
pixels.clear();
foreach ox,oy in (window,window){ // construct sorted list as pixels are read.
pixels.merge(pixel.clear(img[x+ox, y+oy])); // merge sort two lists
}
new[x,y]=pixels[4]; // median value
}
new
}

View file

@ -0,0 +1,2 @@
filtered:=medianFilter(PPM.readJPGFile("lena.jpg"));
filtered.writeJPGFile("lenaMedianFiltered.zkl.jpg");