我尝试使用HOGDescriptionr计算梯度图。我的代码:
HOGDescriptor hog;
hog.compute(faceROI,ders,Size(32,32),Size(0,0),locs);
Mat grad;
Mat sec;
hog.computeGradient(frame_gray, grad, angleofs);
imshow("1", frame_gray);
imshow("2", grad); //here program fails: Unhandled exception at memory location
imshow("3", angleofs); //grad.data = "". Why??
我找不到使用HOGDescriptionr::computeGradient的好例子。
救命!
要可视化OpenCv的HOGDescriptionr::Calculate(..),请使用它,这太神奇了。
imshow("2",grad);失败,因为imshow期望grad图像是1、3或4通道图像,而它是2通道图像。
第一个通道包含x方向的梯度,而第二个通道包含y方向的梯度。您应该将通道拆分为两个图像以将其可视化:
Mat grad_channel[2];
split(grad, grad_channel);
imshow("grad_x", grad_channel[0]);
imshow("grad_y", grad_channel[1]);
最佳