Mam następujący fragment kodu, który stworzyłem do zmiany intensywności piksela w obrazie OpenCV (klasa Cv :: Mat).C++: W jaki sposób można utworzyć szablon dynamicznego typu?
Jak widać, zapętlam w obu przypadkach, ale z innym typem szablonu.
Funkcja "przesyłania" może być przeciążona.
Moje pytanie brzmi więc, w jaki sposób można stworzyć dynamiczny typ szablonu tak, że wygląda lepiej ..
Mat mat = _mat.clone() ;
int channels = mat.channels();
switch(channels)
{
case 1:
for (int i=0; i<mat.rows; i++)
{
for (int j=0; j<mat.cols; j++)
{
uchar src = mat.at<uchar>(i,j);
uchar dst = mat.at<uchar>(i,j);
t.transfer(src, dst);
}
}
break;
case 3:
for (int i=0; i<mat.rows; i++)
{
for (int j=0; j<mat.cols; j++)
{
Vec3b src = mat.at<Vec3b>(i,j);
Vec3b dst = mat.at<Vec3b>(i,j);
t.transfer(src, dst);
}
}
break;
}
return mat ;
Nie jest to związane z odpowiedzią, ale czy nie jest odpowiednikiem src i dst? Do czego służy funkcja 'transfer()'? –