I'm not sure if I implemented it quite correctly- what for example should a solid white input image look like? In any case it can make some pretty but somewhat bland curvy colored lines, below the picture on the right is the source and the left is the hough transform:

description and link to processing pde file
The k-means clustering algorithm is very simple but very interesting in it's results- an image is split into clusters and then the clusters take on the average color of the source pixels, and the cluster centers are updated in each step until convergence.

K-Means Clustering Frei0r from binarymillenium on Vimeo.