Medical charity Doctors Without Borders (MSF) said on Twitter that the MS Aquarius, which it charters along with French NGO SOS Mediterranee, had picked up over 200 migrants.
The passengers, who had been trying to reach Europe via the shores of Italy, had "been on (a) rubber dinghy with 22 dead bodies for hours on end", it said on Twitter.
"Unclear how people died. When team approached (the) dinghy, dead bodies were at (the) bottom of (the) boat in a pool of fuel and water," it added.
The Italian coastguard said the MY Phoenix, chartered by the Malta-based foundation MOAS (Migrant Offshore Aid Station) had picked up another 354 people.
More than 3,200 migrants were rescued from the Mediterranean on Tuesday in 25 separate operations.
The latest arrivals take the number of migrants to have landed in Italy this year to more than 80,000, according to the UN's refugee agency. Most of them are Africans.
Since 2014, more than 10,000 migrants have died or are feared to have drowned while attempting the perilous journey to Europe by sea, most losing their lives in the central Mediterranean, the UNHCR says.