The 29-year-old South African is out of contract and is thought to have turned down a new deal with the Eagles in favour of the Bluebirds, who finished bottom of the Premier League.
He played 26 top-flight matches for Tony Pulis's team last season as they climbed the table to avoid relegation.
Dikgacoi is the fifth player to be signed by Cardiff manager Ole Gunnar Solskjaer this summer.
Solskjaer is looking to build a squad to gain promotion from the Championship at the first attempt.
He has so far invested in three strikers: Adam Le Fondre from Reading,ex-Manchester United forward Federico Macheda and Spaniard Javi Guerra, as well as Austrian midfielder Guido Burgstaller.