I figured out what to do. Here I have images in my data table dt. Pulling the value of the cell created a picture object, but I found a way around that. I kept trying to use expressions and failing. Then I remembered that parsing a string has essentially the same effect as defining an expression. Now I can fairly cleanly send images from JMP to Python.
Names Default to Here ( 1 );
r = Parse( Char( dt:Image[11] ) );
f = Arg( Arg( r, 1 ) );
h = Encode64 Blob( Char to Blob( f, "base64compressed" ) );
Python Submit( Eval Insert( "\[
import base64
import io
from PIL import Image
pic = '''☺h☺'''
imgdata = base64.standard_b64decode(pic)
img = Image.open(io.BytesIO(imgdata))
img.show()
]\", "☺"
) );