Can I make drivers read values from textures?
Each image datablock in Blender has a pixels property. This is an array of pixels starting from the bottom row left to right.

The RGBA values of a pixels are listed after one another. The RGBA values for the bottom-left pixels will be indiced with 0, 1, 2 and 3. The RGBA values of the second pixels can be called with the indices 4, 5, 6, 7 from the pixel list.

Starting with this post, this blog has lots of informations about pixels in bpy.data.images.

I have created a sample script which manipulates the object location based on frames of an images. (Compare the attached file.)

import bpy

def updateFromImage(scene):
    frame = scene.frame_current
    obj = scene.objects['Cube']

    pixels = bpy.data.images['InputImage'].pixels

    # read the green pixels
    greenPixelAtFrameNo = pixels[frame*4 + 1]
    obj.location.z = greenPixelAtFrameNo * 5
    obj.location.x = frame



bpy.app.handlers.frame_change_pre.append(updateFromImage)