Oto przykład przy użyciu API C i IplImage:
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/highgui/highgui_c.h"
int main()
{
IplImage* img = cvLoadImage("input.jpg", 1);
IplImage* dst=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);
cvSmooth(img, dst, CV_BLUR);
cvSaveImage("filtered.jpg",dst);
}
Aby uzyskać informacje o tym, co parametrów funkcji cvSmooth ty można rzucić okiem na cvSmooth Documentation.
Jeśli chcesz użyć maski filtru niestandardowego można użyć funkcji cvFilter2D
:
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/highgui/highgui_c.h"
int main()
{
IplImage* img = cvLoadImage("input.jpg", 1);
IplImage* dst=cvCreateImage(cvGetSize(img),IPL_DEPTH_8U,3);
double a[9]={ 1.0/9.0,1.0/9.0,1.0/9.0,
1.0/9.0,1.0/9.0,1.0/9.0,
1.0/9.0,1.0/9.0,1.0/9.0};
CvMat k;
cvInitMatHeader(&k, 3, 3, CV_64FC1, a);
cvFilter2D(img ,dst, &k,cvPoint(-1,-1));
cvSaveImage("filtered.jpg",dst);
}
Te przykłady użycia OpenCV 2.3.1.
Nie jestem pewien, co dokładnie masz na myśli. Low-pass zwykle oznacza niskie częstotliwości ... więc masz na myśli pewien koniec spektrum kolorów? – thecoshman
Więcej informacji: http://paulbourke.net/miscellaneous/imagefilter/ – Ojtwist