I have never written a single line of Haskell code (except for random stuff in my xmonad configuration file), but I thought the perfect way to learn functional programming is by doing. I want to write a program that reads in an image file of arbitrary file type and size, and also reads in a list of pixel locations. Then it should compute histogram of oriented gradients in a window centered on each of the input list of pixels, and it needs to write these histograms out. I'll start small, so let's assume I am using just text files as the output.
What are some resources online for learning how to do this. In particular, how to read images, work with arrays of pixels, etc. I don't mind needing to build infrastructure myself; but my hope is this is the sort of project where, once I complete it, I'll be reasonably able to make my own Haskell subroutines for scientific computing tasks. Any other thoughts / suggestions are very welcome and encouraged, even if you think this idea is dumb or you're one of those weird OCaml people. My background is all Python. It's easy to do this in Python with NumPy, but I want to learn Haskell for science!