Kanter made the news official in a post on Twitter, writing that he looks forward "to helping the Blazers achieve the ultimate goal of competing for a championship."
The Blazers were Kanter's choice over several serious suitors, including the Los Angeles Lakers, sources said.
The New York Knicks waived Kanter, 26, at the trade deadline last Thursday.
"We're getting a guy who can really score and rebound," Blazers coach Terry Stotts said before Wednesday's game against the Golden State Warriors. "And he'll help us be a better team."
Stotts said Kanter will be Portland's backup center behind Jusuf Nurkic.
"He's a bona fide player in this league," Stotts said. "You look at his body of work. He's a great rebounder, a great offensive rebounder. He can score and get rebounds in a short amount of time. And I think the role that we have for him will really be good for him, but it will really be good for us, as far as providing a different dimension off our bench."
Stotts said Kanter will join the Blazers in Brooklyn after the All-Star break.
The Blazers signed Kanter as a restricted free agent to a four-year, $70 million offer sheet in 2015. The Oklahoma City Thunder matched the offer, retaining Kanter before eventually trading him to the Knicks as part of the Carmelo Anthony deal in 2017.
New York talked to teams about potential trades of Kanter prior to the deadline, but his $18.6 million expiring contract proved too difficult to move.
Kanter's role with the Knicks decreased in the weeks leading up to the deadline, which led him to express displeasure about his limited role.
He averaged 14 points and 10.5 rebounds, the latter tied for 12th in the league, in 25.6 minutes per game this season for the Knicks. He appeared in 44 games.
In eight seasons with Utah, Oklahoma City and New York, Kanter has averaged 11.9 points and 7.6 rebounds.
ESPN's Nick Friedell contributed to this report.