Like this?
Graphics3D[{{Texture[ Graphics[{Opacity[0.5], Blue, Disk @@@ lalist[[2]]}, Frame -> True]], Polygon[{{-1, -1, -1}, {1, -1, -1}, {1, 1, -1}, {-1, 1, -1}}, VertexTextureCoordinates \[Rule] {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}, {Texture[ Graphics[{Opacity[0.5], Red, Disk @@@ lalist[[1]]}, Frame -> True]], Polygon[{{-1, -1, 1}, {1, -1, 1}, {1, 1, 1}, {-1, 1, 1}}, VertexTextureCoordinates \[Rule] {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}}, Lighting \[Rule] "Neutral"]

Many of them with opacity .2:
tab = Table[{Opacity \[Rule] .2, Texture[Graphics[{Opacity[0.5], Blue, Disk @@@ lalist[[2]]}, Frame -> True]], Polygon[{{-1, -1, z}, {1, -1, z}, {1, 1, z}, {-1, 1, z}}, VertexTextureCoordinates \[Rule] {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}, {z, -2, 2, 1}]; plt = Graphics3D[{tab}, Lighting \[Rule] "Neutral"]

and 400 doesn't seem to be too complicated in terms of speed (you can easily change the code above to see it).
EDIT: OK, just to be stupid, try this
Dynamic[Graphics3D[{{Texture[#], Polygon[{{-1, -1, -1}, {1, -1, -1}, {1, 1, -1}, {-1, 1, -1}}, VertexTextureCoordinates \[Rule] {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}, {Texture[Rotate[#, \[Pi]/2]], Polygon[{{-1, -1, 1}, {1, -1, 1}, {1, 1, 1}, {-1, 1, 1}}, VertexTextureCoordinates \[Rule] {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}}, Lighting \[Rule] "Neutral"] &@Binarize[CurrentImage[]]]
which gives

(or something like that), rotation, real-time update, etc.