The hough transform is typically used to search for lines in images, though can be generalized to other forms, and for example is used to find the edge of roads for mobile robotics applications.
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.