filt
是一個 C++ 函數,它可以用于對信號進行濾波
在圖像處理中,filt
函數可以用于實現多種濾波器,例如:
以下是一個使用 filt
函數實現均值濾波器的示例:
#include <opencv2/opencv.hpp>
int main(int argc, char** argv) {
cv::Mat image = cv::imread("input.jpg", cv::IMREAD_GRAYSCALE);
cv::Mat filtered_image;
int kernel_size = 3; // 均值濾波器的核大小
cv::Mat kernel = cv::Mat::ones(kernel_size, kernel_size, CV_32F) / (float)(kernel_size * kernel_size);
cv::filter2D(image, filtered_image, -1, kernel, cv::Point(-1, -1), 0, cv::BORDER_DEFAULT);
cv::imwrite("output.jpg", filtered_image);
return 0;
}
在這個示例中,我們首先讀取一張灰度圖像,然后創建一個均值濾波器的核。接下來,我們使用 filter2D
函數對圖像進行濾波,并將結果存儲在 filtered_image
中。最后,我們將濾波后的圖像保存到文件中。