opencv报错:(depth == CV_8U || depth == CV_32F)

opencv报错:(depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2

最近在做个图像匹配的小程序,在调用MatchTemplate时一直报错。查了下才发现,它的意思是:

数据类型必须是CV_8U或者CV_32F,并且应该在3通道或者3通道以下。

这是换了opencvsharp3的库出的错,之前用opencvsharp库出的错误"(img.depth() == CV_8U || img.depth() == CV_32F) && img.type() == templ.ty",估计应该是同一个问题。

个人错误的原因是使用了4通道的Mat数据没有进行处理,调用CvtColor以后问题解决

my_mat = my_mat.CvtColor(ColorConversionCodes.RGBA2RGB)

 

你可能感兴趣的:(C#,Winform,opencv)