diff --git a/clahe.cpp b/clahe.cpp index 76c95cc..f56c8ff 100644 --- a/clahe.cpp +++ b/clahe.cpp @@ -13,16 +13,16 @@ void CLAHE::loadFile(const QString &path) int type = tmp.depth(); _scale = type==CV_8U ? 1.0/255 : 1.0/65535; tmp.convertTo(tmp, CV_32F, _scale); - cv::cvtColor(tmp, tmp, cv::COLOR_BGR2Lab); + cv::cvtColor(tmp, tmp, cv::COLOR_BGR2YCrCb); cv::split(tmp, _image); - _image[0].convertTo(_lumImage, type, 0.01/_scale); + _image[0].convertTo(_lumImage, type, 1/_scale); } void CLAHE::saveFile(const QString &path) { cv::Mat tmp; cv::merge(_image, 3, tmp); - cv::cvtColor(tmp, tmp, cv::COLOR_Lab2BGR); + cv::cvtColor(tmp, tmp, cv::COLOR_YCrCb2BGR); tmp.convertTo(tmp, _lumImage.depth(), 1/_scale); cv::imwrite(path.toLocal8Bit().data(), tmp); } @@ -32,7 +32,7 @@ void CLAHE::apply(float clipLimit, int kernelSize) cv::Mat lum; cv::Ptr clahe = cv::createCLAHE(clipLimit, cv::Size(kernelSize, kernelSize)); clahe->apply(_lumImage, lum); - lum.convertTo(_image[0], CV_32F, 100*_scale); + lum.convertTo(_image[0], CV_32F, _scale); double min, max; cv::minMaxLoc(_image[0], &min, &max); qDebug() << min << max; @@ -42,7 +42,7 @@ QPixmap CLAHE::getImage() const { cv::Mat tmp; cv::merge(_image, 3, tmp); - cv::cvtColor(tmp, tmp, cv::COLOR_Lab2RGB); + cv::cvtColor(tmp, tmp, cv::COLOR_YCrCb2RGB); tmp.convertTo(tmp, CV_8U, 255); QImage ret(tmp.data, tmp.cols, tmp.rows, tmp.step1(), QImage::Format_RGB888); //ret.bits();//perform deep copy of tmp.data pointer