How to sort a view on a Drupal Commerce product image field?
One way to solve this is to store a sortable value in an extra field.

Computed field can be a good choice. There is a quite lengthy article here. See "Additional Values for Sorting".

I also want to quote the "Downsides" mentioned in this article:


  Since the stored value computed field is only computed when the node
  is saved, your nodes need to be re-saved to allow for code changes. If
  you change the content type’s field, you may need to re-save all nodes
  of that type. If you have thousands of nodes, this can be troublesome.
  However, several modules (which are outside the scope of this post)
  can help, as can simple one-off scripts.