我想知道我如何在IplImage的opencv中做低通濾波器。 例如「boxcar」或類似的東西。opencv中的低通濾波器
我用Google搜索了它,但我找不到明確的解決方案。 如果任何人都可以給我一個例子或指出我正確的方向如何在opencv或javacv中實現這一點,我將不勝感激。
Thx提前。
我想知道我如何在IplImage的opencv中做低通濾波器。 例如「boxcar」或類似的東西。opencv中的低通濾波器
我用Google搜索了它,但我找不到明確的解決方案。 如果任何人都可以給我一個例子或指出我正確的方向如何在opencv或javacv中實現這一點,我將不勝感激。
Thx提前。
這裏:
#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);
}
有關cvSmooth功能的什麼參數信息,您可以看看cvSmooth Documentation。
如果你想使用自定義過濾器屏蔽器可以使用功能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);
}
這些示例使用OpenCV的2.3.1。
的openCV filtering文檔是有點混亂,因爲該功能嘗試efficently涵蓋所有可能的過濾技術。
沒有使用自己的過濾器內核一個tutorial使用C API和IplImage的一個例子覆蓋盒形過濾器
我不知道究竟你的意思。低通常意味着低頻...所以你是指色譜的某個末端? – thecoshman 2012-03-23 14:37:26
欲瞭解更多信息:http://paulbourke.net/miscellaneous/imagefilter/ – Ojtwist 2012-03-23 15:05:20