Я нахожусь в необходимости использования стандартного преобразования Хафа (вместо использования метода HoughLinesBinary, который реализует вероятностный Хаф Transform) и попытался сделать это, создав собственную версию метода HoughLinesBinary:Стандартные Hough линия в EMGU CV
using (MemStorage stor = new MemStorage())
{
IntPtr lines = CvInvoke.cvHoughLines2(canny.Ptr, stor.Ptr, Emgu.CV.CvEnum.HOUGH_TYPE.CV_HOUGH_STANDARD, rhoResolution, (thetaResolution*Math.PI)/180, threshold, 0, 0);
Seq<MCvMat> segments = new Seq<MCvMat>(lines, stor);
List<MCvMat> lineslist = segments.ToList();
foreach(MCvMat line in lineslist)
{
//Process lines: (rho, theta)
}
}
Моя проблема в том, что я не уверен, какой тип возвращается. Я считаю, что это должен быть MCvMat, из-за чтения документации о том, что CvMat * используется в OpenCV, что также указывает, что для СТАНДАРТА «матрица должна быть (созданная последовательность будет) типа CV_32FC2»
Непонятно, как к тому, что мне нужно будет сделать, чтобы возвращать и обрабатывать правильные выходные данные из строк STANDARD hough (т. е. вектор 2x1 для каждой строки, дающий информацию о rho и theta).
Любая помощь была бы принята с благодарностью. Спасибо
-Sal