This is a simple tool for playing around with morphological image processing.
Here's a simple example
<html>
<body>
<canvas id="demo" width=500 height=500></canvas>
<script src="morph.js"></script>
<script>
var img = morph.generateRandomImage(500, 500, 100000);
var structElem = morph.generateStructureElement(10);
var morphResult = morph.dilate(img, structElem);
var canvas = document.getElementById('demo');
morph.drawImage(morphResult, canvas);
</script>
</body>
</html>
All that's really required is morph.complement
, morph.union
and morph.erode
.
Read more in the companion post on this.
There are a bunch of cools things that could added. Like topology preserving mappings, etc. Read more here, and here and in this book.