내 수평 그라데이션 results.The 하나는 OpenCV의 결과이며 다른 하나는 MATLAB 결과는 cpp에있는 OpenCV의 할 컨볼 루션 코드 MATLAB 변환 여기
나는 수평 및 수직 그라데이션을하려고하고있다 남아 어느 H = [1, -1] 및 V = [1; -1]
Mat H_gradient,G_Filter1,kernel,V_gradient;
Mat kernelH(1, 2, CV_32F);
kernelH.at<float>(0,0) = 1.0f;
kernelH.at<float>(0,1) = -1.0f;
Mat kernelV(2, 1, CV_32F);
kernelV.at<float>(0,0) = 1.0f;
kernelV.at<float>(1,0) = -1.0f;
cvtColor(image, image, CV_RGB2GRAY);
filter2D(image, H_gradient, -1 ,kernelH , Point(-1, -1), 0, BORDER_DEFAULT);
filter2D(image, V_gradient, -1 ,kernelV , Point(-1, -1), 0, BORDER_DEFAULT);
그러나 여전히 내 matlab 코드 결과와 일치하지 않습니다. 왜 그런지 몰라? 그라디언트
에 대한내 MATLAB 코드
image=double(image);
% horizontal and vertical gradient
H=[1 -1];
V=[1;-1];
H_Gradient=conv2(image,H,'same');
V_Gradient=conv2(image,V,'same');
예제 이미지에 차이점을 표시 할 수 있습니까? – ypnos
왼쪽에 이미지를 추가합니다. opencv 결과는 @ypnos입니다. –