gpt4 book ai didi

opencv - 如何创建自己的高斯内核?

转载 作者:行者123 更新时间:2023-12-02 16:50:13 24 4
gpt4 key购买 nike

有人可以告诉我如何创建自己的高斯核吗?
在文件Frequency-tuned Salient Region Detection (Section 4.2)中,他们使用DoG带通滤波器。我不知道如何在OpenCV / JavaCV中实现这一点。
DoG的内核称为:1/16 [1; 4; 6; 4; 1]。有人可以解释如何设置这些内核吗?

//编辑:
及时,我用以下方法设置了我的DoG过滤器:

double sigma_small = Math.PI/2.75; 
double sigma_large = DOUBLE.POSITIVE_INFINITY;
IplImage gaussL= cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
IplImage gaussS= cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);
cvSmooth(input, gaussL, CV_GAUSSIAN, kernel_size,kernel_size, sigma_small, sigma_small);
cvSmooth(input, gaussS,CV_GAUSSIAN, kernel_size,kernel_size, sigma_large, sigma_large); //eq. to 0

但是我认为这是错误的内核。还是我做错了什么。
问候,
命运

最佳答案

内核只是cv::Mat

http://docs.opencv.org/modules/imgproc/doc/filtering.html?highlight=gauss#getgaussiankernel

如文档所述,您应该创建所需的Mat内核,并且:

"generated kernels can be passed to sepFilter2D() or to createSeparableLinearFilter()"

我没有测试过,但应该可以。

您还可以手动应用基于内核的操作。不难

关于opencv - 如何创建自己的高斯内核?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11433243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com