我不知道我是否正確地做了。[編輯]實現高斯的差異
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