在Cv2.HoughLines(srcImage, lines, 1, Cv2.PI / 180, 100);lines报错无法将opencvsharp.Mat转换为double,Cv2.PI / 180报错无法从double转换为int怎么解决
时间: 2024-03-04 07:48:13 浏览: 117
OpenCvSharp霍夫变换之 直线检测
这个问题是因为在传递参数时,类型不匹配导致的。可以尝试以下两种解决方法:
1. 对于无法将`opencvsharp.Mat`转换为`double`的错误,可以尝试将`srcImage`转换为`Mat`类型再传递给`Cv2.HoughLines()`函数。例如:
```
Mat matImage = new Mat();
Cv2.CvtColor(srcImage, matImage, ColorConversionCodes.BGR2GRAY);
Cv2.HoughLines(matImage, lines, 1, Cv2.PI / 180, 100);
```
2. 对于无法从`double`转换为`int`的错误,可以将`Cv2.PI`的值转换为`float`类型再进行计算。例如:
```
Cv2.HoughLines(srcImage, lines, 1, (float) (Cv2.PI / 180), 100);
```
以上两种方法可以尝试解决你的问题。
阅读全文