Hi,
You want to create a custom field of the table "item" and of the type "text".
That way, the customer can enter the URL in that custom field.
Then, if you try this, you'll see that you only get the URL displayed in the cart after the add to cart.
To get the image displayed, you'll want to change the setting "Format" of the custom field. Instead of {value}, you'll want to enter:
<img src="{value}" class="image_class"/>
And you'll see the image instead of the URL in the cart, etc.
You can also make the image clickable:
<a href="{value}" target="_blank"><img src="{value}" class="image_class"/></a>
And you can use the class image_class to add custom CSS to your website to force the size of the image, etc so that it fits with your website design.