title: How to get the area of a contour on a 3D surface from a single photo?
body: <p>I'm beginning to work on a project with OpenCV (in python), and I'm trying to figure out the best way to tackle the problem I'm facing. I'm trying to get the area of an item in an image...but the surface area I'm looking for is on a 3D object.</p>
  <p>So I found <a href="https://stackoverflow.com/questions/55467031/how-to-get-the-area-of-the-contours">this</a> while searching for calculating the area of a contour, but as you can see, this is only for a 2D object. For example, how could I find the area of the red question marks on the sphere in <a href="https://previews.123rf.com/images/megaloman1ac/megaloman1ac1507/megaloman1ac150700583/42584569-3d-ball-with-question-marks-and-exclamation-mark.jpg" rel="nofollow noreferrer">this</a> image? Or the size of the rash on <a href="https://img.webmd.com/dtmcms/live/webmd/consumer_assets/site_images/article_thumbnails/slideshows/birthmarks_slideshow/650x350_birthmarks_slideshow.jpg" rel="nofollow noreferrer">this</a> baby's face (which is most certainly not 2-dimensional)? Is there a way to find the depth of the surface in the image, then use the high color gradient difference to find contours and calculate the difference based on the depths?</p>
  <p>I found <a href="https://arxiv.org/abs/1903.08527" rel="nofollow noreferrer">this</a> deep learning paper (and associated PyTorch library), but was wondering if there was another way that I was missing...</p>
  <p>Thanks to all for any ideas / replies.</p>