我試圖創建一個功能,使得可以使用OpenCV 3.1設置QImage的對比度/亮度。這完美的作品在釋放,但在調試(它返回一個空白圖像):OpenCV墊不能在調試模式下工作
QImage getNewImage(QImage *img, float contrast, float brightness)
{
// Convert image to temporary cv::Mat with a deep copy
// Output format is BGRA
cv::Mat temp(img->height(),img->width(),CV_8UC4,(uchar*)img->bits(),img->bytesPerLine());
temp.convertTo(temp, -1, contrast, brightness);
cv::cvtColor(temp, temp, CV_BGRA2RGB);
// Convert back to QImage RGB
QImage dest((const uchar *) temp.data, temp.cols, temp.rows, temp.step, QImage::Format_RGB888);
return dest;
}
你看到可能是什麼問題呢?
編輯
我的.pro(兩個相關的DLL都在bin目錄)。
INCLUDEPATH += ../lib/opencv/include
CONFIG(debug, debug|release) {
LIBS += ../lib/opencv/opencv_world310d.lib
} else {
LIBS += ../lib/opencv/opencv_world310.lib
}
包括:
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
您是否在項目設置中添加了所有庫? – Viktoria
你如何建立這個?你可以在這裏分享你的qmake/cmake文件嗎?也許有什麼優化..? –
_「//將圖像轉換爲具有深層副本的臨時cv :: Mat」_不是深層複製,btw – Miki