Opencv MSER detectRegions C ++ Vs.蟒蛇

时间:2016-01-10 22:30:08

标签: python c++ opencv mser

我正在将Python程序移植到C ++,它使用MSER(OpenCV)detectRegions。我注意到奇怪的行为,C ++程序检测到的MSER区域数量明显低于Python程序。在调用detectRegions之前,我使用相同的图像作为它们的输入并执行相同的预处理步骤。对于特定的示例图像,Python程序检测到的MSER区域数为6620,但在移植到C ++之后,我只获得了1164个。

唯一不同的是,对于Python,我使用x64版本的cv2.pyd(\ build \ python \ 2.7 \ x64),而对于C ++,我使用的是x86(\ build \ x86 \ vc12)。

对于这两个程序,执行以下步骤:

  1. 使用imread

  2. 读取图像
  3. 使用带有COLOR_BGR2GRAY的cvtColor转换为灰度

  4. 执行直方图均衡:

    a. CLAHE object is created using clipLimit=2.0, tileGridSize - 8x8
    
    b. apply CLAHE on gray image
    
  5. 获取图像的高度和宽度。
  6. 将图像缩放到600X800 SVGA尺寸

    一个。如果宽度>高度然后比例=宽度/ 800.0

    湾else scale = height / 600.0

    ℃。使用'resize'和上面的比例因子'scale'

  7. 创建MSER对象
  8. setDelta(4)
  9. 调用detectRegions

0 个答案:

没有答案