Certainly at the least a full day for Venice. We've been to Venice twice. Once by train on our own and the second arriving on cruise from Greece. The first time we spent 3 days. The second we just arrived and caught a shuttle to go to Ljubljana, Sovenia. We wished we had also planned an extra day for the second time. When visiting anywhere in the world I always think I may not ever return so take advantage of being there. You can never see and experience enough of Italy as far as I'm concerned!
I alway think that if I have spent the money on a cruise and the flights, whats a few more hundred to visit a place a will probably never get back to. And lastly, but I think important. You will have jet lag and not feel great for a day or two and why start a cruise that way.