我正在尝试将自适应阈值处理工作在与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参数(灰度)并得到错误
不支持的格式或格式组合
有没有人有任何关于我可能出错的线索?
答案 0 :(得分:2)
我不是swig界面的用户,但在C中,cvLoadImage
函数默认将图像加载为3通道RGB,所以如果对于swig也是如此,那么你将需要更改代码以加载img
作为灰度(CV_LOAD_IMAGE_GRAYSCALE
)或执行中间步骤以使用cvCvtColor
将其转换为灰度。