Jump to content

Bitmap/Histogram: Difference between revisions

m
→‎{{header|zkl}}: function movement
m (→‎{{header|zkl}}: function movement)
Line 1,186:
from
}</lang>
<lang zkl>fcn img:=PPM.readPPMFile(fileName"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.println();
Line 1,208 ⟶ 1,195:
img.data.pump(0,bw.data.clear(),'wrap(c){ if(c>median) 0xff else 0 });
 
bw.write(File("foo.ppm","wb"));</lang>lenaBW.jpg
{{out}}<pre>101</pre>
http://home.comcast.net/~zenkinetic/Images/lenaBW.jpg
 
 
{{omit from|PARI/GP}}
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.