我使用類來創建一個函數。該功能必須在提供的圖像中找到選定的顏色。所以我這樣做是爲了讓函數獲得一個Vec3b值,因爲它是我們正在討論的RGB值。Vec3b不需要三個參數?
class colorcompare
{
private:
int threshold;
Vec3b color;
void setcolor(Vec3b);
Mat process(Mat&);
void setthresh(const int);
int getdist(Vec3b);
};
void colorcompare::setcolor(Vec3b colr)
{
color = colr;
}
int _tmain(int argc, _TCHAR* argv[])
{
colorcompare cc1;
Mat image;
image = imread("c:\\car2.jpg", -1);
cc1.setcolor(19,69,139); //This is where im getting error
cc1.setthresh(100);
namedWindow("meh");
imshow("meh", cc1.process(image));
waitKey(0);
return 0;
}
現在我得到的錯誤是這樣的:'colorcompare::setcolor' : function does not take 3 arguments
我知道vec3b是3個值的向量,所以換句話說,我可以作爲顏色[0]訪問vec3b的各個值,顏色[1]和顏色[2]。
我知道我可以在上面的函數中像這樣定義它,但它不應該vec3b能夠取3個值?就像我在我的代碼中做的一樣?
我忘了提,''的setColor(19,69,139)''是棕色的BGR值。 – StuckInPhD