gpt4 book ai didi

c - [编辑]高斯差分的实现

转载 作者:行者123 更新时间:2023-11-30 14:22:34 37 4
gpt4 key购买 nike

我不确定我的做法是否正确。

IplImage *dog_1 = cvCreateImage(cvGetSize(oriImg), oriImg->depth, oriImg->nChannels);
IplImage *dog_2 = cvCreateImage(cvGetSize(oriImg), oriImg->depth, oriImg->nChannels);

int kernel2 = 1;
int kernel1 = 5;

cvSmooth(oriImg, dog_2, CV_GAUSSIAN, kernel2, kernel2);
cvSmooth(oriImg, dog_1, CV_GAUSSIAN, kernel1, kernel1);
cvSub(dog_2, dog_1, dst, 0);

我的做法正确吗?以上是做DOG的正确方法吗?我只是根据维基百科的解释尝试了一下。但我无法像 wiki 页面 http://en.wikipedia.org/wiki/Difference_of_Gaussians 那样获得所需的图像。

Difference of Gaussians

[已编辑]

我从维基页面引用此内容

“高斯差分是一种灰度图像增强算法,涉及将原始灰度图像的一个模糊版本与原始灰度图像的另一个模糊程度较低的版本相减。模糊图像是通过将原始灰度图像与高斯核进行卷积来获得的具有不同的标准差。”

在阅读论文时,DoG图像是由

完成的

原始图像,I(x,y) -> 模糊 -> I1(x,y)

I1(x,y) -> 模糊 -> I2(x,y)

输出 = I2(x,y) - I1(x,y)

如您所见,这与我正在做的事情略有不同,我使用不同的内核与原始图像获取 I1 和 I2

哪一个是正确的还是我误解了 wiki 中的含义?

最佳答案

如果您附加的图像是示例输出,则它看起来不一定有问题。 DoG 操作非常简单:用两个不同大小的高斯进行模糊并计算差异图像。这似乎就是您的代码正在做的事情,所以我想说您是对的。

如果您的担忧源于查看维基百科文章(其中图像主要是白色,而不是黑色),那么这只是您所拥有的图像的倒置。我不会为此担心。

关于c - [编辑]高斯差分的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13669466/

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