The deal will pay Rasmus $8 million, a baseball source told ESPN.com.
Meanwhile, the Astros' reported negotiations with free-agent right-hander Ryan Vogelsong took a turn Wednesday when FoxSports.com reported that Vogelsong had changed course and was in serious discussions to return to the San Francisco Giants.
Two people familiar with the talks said the Astros continue to monitor the situation and have yet to be told they're out of the running by Vogelsong or his agent, Dave Meier.
Rasmus, 28, is a .246 career hitter with 116 home runs in six big league seasons with the St. Louis Cardinals and Toronto Blue Jays. He batted .225 with 18 home runs in 104 games with Toronto last season.
Rasmus has spent the bulk of his career in center field, but a source told ESPN that he could move around among the three outfield spots in Houston. The Astros currently have George Springer in right field, Jake Marisnick in center and the newly acquired Evan Gattis in left.
Houston general manager Jeff Luhnow was the scouting director in St. Louis when the Cardinals selected Rasmus with the 28th overall pick in the 2005 draft. The Cardinals sent Rasmus to Toronto as part of an eight-player trade in July 2011.
Fox 26 News in Houston reported that Vogelsong was in Houston on Monday. A source confirmed to ESPN.com that the two sides were working through some final details in anticipation of an agreement.
Vogelsong, 37, is 49-57 with a 4.42 ERA in 10 seasons with the San Francisco Giants and Pittsburgh Pirates. A 2011 NL All-Star, Vogelsong has a 3-0 record and a 2.92 ERA in eight postseason appearances with the Giants.
Luhnow has had an active offseason in the aftermath of Houston's 70-92 finish in 2014. The Astros added shortstop Jed Lowrie and relievers Luke Gregerson and Pat Neshek in free agency, acquired Gattis in a trade with Atlanta and picked up third baseman Luis Valbuena and pitcher Dan Straily from the Chicago Cubs in exchange for outfielder Dexter Fowler on Monday.