OpenCV中的自适应阈值(版本1 - swig版本)

时间:2010-04-19 15:29:47

标签: python opencv beagleboard

我正在尝试将自适应阈值处理工作在与opencv的python绑定中 (swig one - 无法使opencv 2.0正常工作,因为我正在使用beagleboard,因为交叉编译还没有工作)。我有一个灰度图像(ccg.jpg)和以下代码

import opencv
from opencv import highgui
img = highgui.cvLoadImage("ccg.png")
img_bw = opencv.cvCreateImage(opencv.cvGetSize(img), opencv.IPL_DEPTH_8U, 1)
opencv.cvAdaptiveThreshold(img, img_bw, 125, opencv.CV_ADAPTIVE_THRESH_MEAN_C, opencv.CV_THRESH_BINARY, 7, 10)

当我运行时,我收到错误:

RuntimeError:  openCV Error:
    Status=Formats of input arguments do not match
    function name=cvAdaptiveThreshold
    error messgae=
    file_name=cvadapthresh.cpp
    line=122

我也尝试过同时使用source和dest参数(灰度)并得到错误

  

不支持的格式或格式组合

有没有人有任何关于我可能出错的线索?

1 个答案:

答案 0 :(得分:2)

我不是swig界面的用户,但在C中,cvLoadImage函数默认将图像加载为3通道RGB,所以如果对于swig也是如此,那么你将需要更改代码以加载img作为灰度(CV_LOAD_IMAGE_GRAYSCALE)或执行中间步骤以使用cvCvtColor将其转换为灰度。