The 32-year-old has a .263 average in eight seasons with Pittsburgh, Minnesota, Houston, Milwaukee and Detroit. He hit .314 with 3 home runs and 20 RBI in 71 games for the Tigers in 2017.
Presley plays all three outfield positions. He stole five bases without being thrown out last season.
Baltimore, which announced the deal Monday, had been in the market for a left-handed hitting outfielder. Presley will compete with Jaycob Brugman, acquired from Oakland last November.