Foreign Minister Mevlut Cavusoglu called the incident a "provocation".
The images, published in Turkish media, show the Russian resting the launcher on his shoulder while on deck.
Russia-Turkey relations have deteriorated badly since Ankara shot down a Russian fighter jet it said had violated its airspace.
A Russian pilot was killed, sparking angry accusations and economic sanctions from the Kremlin.
The pictures showed the Russian serviceman on board the Caesar Kunikov as it passed through the Bosphorus strait.
"The showing off of a missile by a soldier on a Russian warship, or other things such as anti-aircraft weapons, is pure provocation," said Mr Cavusoglu, Hurriyet Daily News reported.
Under a treaty dating from World War One, Turkey must let all ships to pass through the strait, which runs through Istanbul.
For Russia it is the only passage its Black Sea fleet can use to access the Mediterranean and the rest of the world's oceans.
Turkey has expressed outrage at images showing a Russian serviceman apparently holding a rocket launcher as his ship passed through Turkish waters.