Aus irgendeinem Grund muss ich die Filterfunktion selbst schreiben. Das Folgende ist meine Faltungsfunktion.Unterschied von cv :: filter2D und in sich geschlossene Faltung auf Gabor-Filter
Dann vergleiche ich mit dieser Funktion und cv :: filter2D Funktion, und entdecken Sie, dass sie nach dem Filtern anders sind. Das gefilterte Bild ist fast das gleiche, wenn Theta und Psi Null sind, aber nicht andere.
int main()
{
cv::Mat in = cv::imread("something.jpg", 0);
cv::Mat dest, dest1;
cv::Mat src_f;
in.convertTo(src_f, CV_32F);
int kernel_size = 31;
double sig = 1.0, th = 0.2, lm = 1.0, gm = 0.02, ps = 0.0;
cv::Mat kernel = cv::getGaborKernel(cv::Size(kernel_size,kernel_size), sig, th, lm, gm, ps);
cv::filter2D(src_f, dest1, CV_32F, kernel);
Convolve(src_f, kernel, dest);
cv::Mat viz;
dest.convertTo(viz, CV_8U, 1.0/255.0);
cv::Mat viz1;
dest1.convertTo(viz1, CV_8U, 1.0/255.0);
imshow("my dest", viz);
imshow("k dest", viz1);
cv::waitKey();
}
Irgendwelche Vorschläge für die in sich geschlossene Faltung? Der Nullauffüllungsteil wird ignoriert.
"Aus irgendeinem Grund": D – GameOfThrows
: D Zum Lernen. –