Is there any way to alter the "field type" of a field?
Drupal itself does not support changing the field type, only the widget. This is because different types have different database structure. On the other hand, it is possible to change some types with custom code (e.g. see http://www.up2technology.com/blog/converting-drupal-fields) but in general, you would need to write migration to do this. 

So in general, it is not possible to change the field type without loosing the data stored in it, especially not things like text -> image etc.