我努力學習OpenCV的,我想將此簡單的公式: OpenCV的:變化的深度和日誌變換
也就是說每個像素的操作,並從[R改造像素小號。
這是我的代碼:
int main(int /*argc*/, char** /*argv*/) {
Mat _img = imread("lena.jpg");
cvtColor(_img, img, CV_32F);
cout << "original image size: " << img.rows << " " << img.cols << endl;
cout << "original type: " << img.type() << endl;
cout << "original depth: " << img.depth() << endl;
Mat _src = img.clone();
_src += 1;
log(_src, logContrast);
logContrast *= log_c;
/// ...
而且我得到這個錯誤:
OpenCV Error: Assertion failed (depth == CV_32F || depth == CV_64F) in log, file /home/user/Documents/Code/OpenCV-2.3.1/modules/core/src/mathfuncs.cpp, line 1772
terminate called after throwing an instance of 'cv::Exception'
what(): /home/alberto/Documents/Code/OpenCV-2.3.1/modules/core/src/mathfuncs.cpp:1772: error: (-215) depth == CV_32F || depth == CV_64F in function log
我有灰色和彩色圖像嘗試,並與cvtColor
與CV_8U
,CV_32F
和C1
,C3
,但我總是作爲深度 ..
我花了數小時OpenCV手冊和OpenCV-2.3.1 /模塊/核心/包括/ opencv2 /核心/ types_c.h但.. ..我找不到解決方案。我想我已經對如何變換深度的對象做了一些混淆。
我沒有問題,與FLOAT32圖像。 – 2012-07-16 15:25:08
抱歉,您使用的是什麼版本的opencv和哪個圖像? – nkint 2012-07-16 15:29:23
我用灰度圖像,但在Python中使用opencv 2.4.1。 – 2012-07-16 15:30:00