我通过OpenCV的Java包装器使用OpenCV的概率hough变换。这些都存储在Mat
中,虽然already existing answer的方法有效,但我发现有一个Converters class专门用于将Mats转换为集合来回。
但是,所有可能合适的转换器都希望问题Mat
只有1列和多行。 Mat
“返回”HoughLinesP
但是将结果点存储在一行中,每列一行,double[]
中每个“像素”存储Mat
个组件。这导致了这个例外:
Caused by: java.lang.IllegalArgumentException: CvType.CV_32SC2 != m.type() || m.cols()!=1
Mat [ 1*4*CV_32SC4, isCont=true, isSubmat=false, nativeObj=0x7fe913e98890, dataAddr=0x7fe913ca7e50 ]
at org.opencv.utils.Converters.Mat_to_vector_Mat(Converters.java:258)
at org.opencv.utils.Converters.Mat_to_vector_vector_Point2f(Converters.java:516)
OpenCV转换器是否适合我尝试使用它们?有没有更好的方法可以做到这一点,或者我自己唯一的选择是自己单独阅读生成的Mat中的每个像素?