1

我试图让自适应阈值在 python 绑定到 opencv 中工作(swig 之一 - 无法让 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 参数都相同(灰度),但我得到了错误

不支持的格式或格式组合

有没有人知道我哪里出错了?

4

1 回答 1

2

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

于 2010-04-21T11:22:55.417 回答