Is it possible to edit images programmatically with the Blender API? I need to ascertain if it's possible to complete a project in Blender exclusively (my preference) or if I need to use an OpenGL API to write an external application for my needs.  

If the project can be completed in Blender, then I need to be able to color pixels on a 2D image using Python within Blender.  If that can be done by pixel coordinate, then my project can be completed in Blender.  

Because the Blender API documentation is laid out by structure of API itself rather than by task (a good thing!) I'm having trouble locating the part of it that I'm interested in.  Because usually Blender isn't used for this, I can't find any discussions that point me in the right direction.

edit: I see that bpy.ops.paint.sample_color() can be used to sample a color on an image; I'm just having trouble finding a way to directly manipulate pixels.

edit2: I should mention that I also found this in old documentation, but searches for something similar in the current documentation come up empty.

last edit: This thread from 2007 includes a script for pixel level access to images.  however, it is dependent upon classes that are not a part of the Blender API and do not appear to be part of the Python repository.  The colour class does not inherit as_tuple, which in turn only seems to be part of the decimal class.  

So, I'm not listing it as an answer because there's no way to know with certainty just what the author meant when those classes are used.
Within blender's image class you can access the raw pixel data at image.pixels as an array of floats, 4 floats per pixel (RGBA). image.size[0] is the width in pixels image.size[1] for height.

This answer shows how to crop an image, while this one about performance might be useful.