【问题标题】:cvErode Error- Unknown Array TypecvErode 错误 - 未知数组类型
【发布时间】:2012-09-20 05:29:17
【问题描述】:

在将图像转换为 YCrCb 图像空间后,我正在尝试对 JPEG 图像执行腐蚀。使用以下代码

 YCrCbMin.val[0] = 0;
 YCrCbMin.val[1] = 131;
 YCrCbMin.val[2] = 80;

 YCrCbMax.val[0] = 255;
 YCrCbMax.val[1] = 185;
 YCrCbMax.val[2] = 135;

 imshow("img",Img);// Img is the JPEG image I load off the disk. 
 waitKey(0);

 Mat YCrCbImg;
 cvtColor(Img, YCrCbImg, CV_BGR2YCrCb);

 Mat erodedImg;
 inRange(YCrCbImg, YCrCbMin, YCrCbMax, erodedImg);

 Mat InterMediateImg     = YCrCbImg;
 IplConvKernel* element  = new IplConvKernel();

 element->nCols      = 12;   element->nRows      = 12;   element->anchorX    = 6;    element->anchorY    = 6;

  cvErode(&erodedImg, &InterMediateImg, element, 1);
  element->nCols      = 6;    element->nRows      = 6;    element->anchorX    = 3;    element->anchorY    = 3;
  cvDilate(&InterMediateImg, &erodedImg, element, 2);

在第一次腐蚀时,我收到以下错误,如屏幕截图所示。

我使用下面的图片作为输入

我在这里做错了什么??

【问题讨论】:

    标签: opencv


    【解决方案1】:

    错误可能在您调用cvErodecvDilate 时出现。您正在混合 C 和 C++ 接口。所以,例如,在

    cvErode(&erodedImg, &InterMediateImg, element, 1);

    erodedImgInterMediateImgcv::Mat 类型,而它们应该是 cvMat 类型。 cvDilate 也一样。

    您可以使用新界面:

    cv::erode

    void erode(const Mat& src, Mat& dst, const Mat& element, Point anchor=Point(-1, -1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue())
    

    cv::dilate

    void dilate(const Mat& src, Mat& dst, const Mat& element, Point anchor=Point(-1, -1), int iterations=1, int borderType=BORDER_CONSTANT, const Scalar& borderValue=morphologyDefaultBorderValue())
    

    或从cv::Mat 转换为cvMat (link to cheatsheet)

    CvMat cvmat = img; // convert cv::Mat -> CvMat


    另请注意,当您调用这些函数时,目标矩阵不是空的,并且可能与源矩阵的类型不同,因此如果我没记错的话,您也有可能在此处运行错误。


    Nice erosion and dilation tutorial in OpenCV 2.4.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 2019-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多