Bitmap/Histogram: Difference between revisions

Content added Content deleted
m (→‎{{header|zkl}}: function movement)
Line 1,186: Line 1,186:
from
from
}</lang>
}</lang>
<lang zkl>fcn readPPMFile(fileName){
<lang zkl>img:=PPM.readPPMFile("lenaGrey.ppm"); // a grey scale image
image:=File(f:=fileName,"rb").read(); f.close();
image.readln(2);
w,h:=image.readln().split().apply("toInt");

image.del(0,image.find("\n255\n") + 5);// del PPM header
ppm:=PPM(w,h);
ppm.data.clear(); // gonna write file image data
// image is stored upside down
[h-1..0, -1].pump(ppm.data,'wrap(h){ image.seek(3*h*w); image.read(3*w) });
ppm
}

img:=readPPMFile("lenaGrey.ppm"); // a grey scale image
median:=histogramMedian(histogram(img));
median:=histogramMedian(histogram(img));
median.println();
median.println();
Line 1,208: Line 1,195:
img.data.pump(0,bw.data.clear(),'wrap(c){ if(c>median) 0xff else 0 });
img.data.pump(0,bw.data.clear(),'wrap(c){ if(c>median) 0xff else 0 });


bw.write(File("foo.ppm","wb"));</lang>lenaBW.jpg
bw.write(File("foo.ppm","wb"));</lang>
{{out}}<pre>101</pre>
{{out}}<pre>101</pre>
http://home.comcast.net/~zenkinetic/Images/lenaBW.jpg
http://home.comcast.net/~zenkinetic/Images/lenaBW.jpg



{{omit from|PARI/GP}}
{{omit from|PARI/GP}}