我不知道我是否正确地做了。[编辑]实现高斯的差异
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
[编辑]
我举这个来自维基页面
“高斯差分是灰度图像增强算法即从原始灰度图像中减去原始灰度图像的一个模糊版本,通过将原始灰度图像与具有不同标准偏差的高斯内核进行卷积来获得模糊图像。
在阅读纸,狗图像通过
完成原始图像,I(X,Y) - >模糊 - > I1(X,Y)
I1(X,Y) - >变模糊 - > I2(X,Y)
输出= I2(X,Y) - I1(X,Y)
正如你看到这是一个从我在做什么略有不同,我得到了I1和I2使用不同的内核来自原始图像
哪一个是正确的,或者我误解了wiki中的含义?
这是纯粹的C问题吗? –
是的。使用C API。 – Mzk