Faits: A. Le 30 juin 2007, X._, originaire de la République dominicaine, a déposé plainte pénale, suite à son interpellation le 27 juin précédent vers 17 heures 30 à Yverdon, par trois policiers en civil, lors de laquelle il avait été plaqué au sol, menotté, conduit au centre d'intervention et soumis à une fouille complète. Il exposait avoir été traité de manière humiliante et dégradante et ne pouvoir s'expliquer l'intervention et la brutalité dont il avait fait l'objet qu'en raison de la couleur de sa peau. Suite à cette plainte, une instruction a été ouverte, notamment pour discrimination raciale, par le Juge d'instruction de l'arrondissement du Nord vaudois. B. Par ordonnance du 18 novembre 2008, le Juge d'instruction a prononcé un non-lieu, estimant que le comportement des policiers était licite au sens de l'art. 14 CP. Saisi d'un recours de X._, le Tribunal d'accusation du Tribunal cantonal vaudois l'a rejeté par arrêt du 6 février 2009, confirmant le non-lieu. En bref, il a considéré que l'interpellation du recourant était intervenue dans le cadre d'une vaste opération mise en oeuvre par la police cantonale afin d'appréhender des trafiquants de cocaïne, que les faits dénoncés n'étaient pas constitutifs d'une infraction, que le recourant avait certes fait l'objet d'une méprise, mais que le principe de la proportionnalité avait été respecté. C. X._ forme un recours en matière pénale au Tribunal fédéral, pour violation de l'art. 3, combiné avec l'art. 1, CEDH. Il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité cantonale pour nouvelle décision, en ce sens que l'instruction soit complétée conformément aux dispositions de droit conventionnel qu'il invoque. Il sollicite l'assistance judiciaire. Le Ministère public et l'autorité cantonale ont renoncé à formuler des observations.