Hi Chris,
the short version is no, there is no function in scikit-image that can do
what the Stanford paper does. However, you can find some useful building
blocks in scikit-image and scikit-learn, that you can put together to
build your own version of the algorithm (from what I figured out after
a quick reading of
http://www.cs.cornell.edu/~asaxena/reconstruction3d/saxena_iccv_3drr07_learning3d.pdf)
- Felzenswalb superpixels are available in skimage.segmentation
(
http://scikit-image.org/docs/dev/auto_examples/segmentation/plot_segmentations.html)
- Local features can be computed using several functions of scikit-image,
such as color transforms (color.ycbcr) and edge filters
(filters.sobel_h, filters.sobel_v, ...)
- A logistic regression algorithm is available in scikit-learn
(
http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html)
The trickiest part to code would be the MAP inference on the MRF, where I
guess you would have to code it yourself (I think).
So, it is feasible to assemble these different blocks, but it's not a
small project either.
As for other libraries, I'm afraid nothing comes to my mind. OpenCV does
have a depth estimation function, but only from stereo images.
Hope this helps,
Emma