vector配列の重複を無くすには?
画像処理で各ピクセルごとのRGB値をそれぞれ取得し、
重複を除いた形で全て表示したいと考えています。
(仮に4ピクセルしかないとして、RGB(255,255,0),
RGB(255,255,255),RGB(255,255,255),RGB(255,0,255)
といった値が取れたときにRGB(255,255,0),
RGB(255,255,255),RGB(255,0,255)のみを表示するといった感じです。)
画像ごとにピクセル数が異なり分からないので、
各ピクセルのRGB値を格納するのに動的配列vector<int*> pixelを
用い、そこにred,green,blueそれぞれの値を格納した
配列RGB[3]を格納しようと思い以下のように書いたのですが、
vector配列に配列を格納したときに重複を削除する方法が
分からず困っています。
for(int x = 0; x->width; x++) {
for(int y = 0; y->height; y++) {
/*getRGBはそのピクセルのRGB値を取得する仮想関数*/
RGB[0] = (int)getRGB(x,y,RED);
RGB[1] = (int)getRGB(x,y,GREEN);
RGB[2] = (int)getRGB(x,y,BLUE);
}
}
pixel.push_back(RGB);
と格納しても、そこからpixel配列に格納された物の中から
RGBが全て一致するものを消去する方法が分かりません。
格納していたものが配列でなければ、pixelをsortして、
unique関数で重複を無くせるのでしょうが…
どなたか良い方法をご教授願えませんでしょうか?