1 | initial version |
If you want to convert your image in HSL, the proper way to do it in OpenCV is:
cv::cvtColor( src, dst, cv::COLOR_BGR2HLS );
If your intent is to do it manually, then you can iterate through the pixel that way:
for(int r = 0 ; r < src.rows ; ++r) {
for(int c = 0 ; c < src.cols ; ++c) {
dst.at<cv::Vec3b>(r,c) = cv::Vec3b(newHue, /*newLigthness*/1, /*newSaturation*/1);
}
}
This is the most standard (and slow way) to iterate through pixels, but also the most obvious. If you want to have a look at how to speed-up the pixel iteration, I suggest you have a look at this tutorial or even, this tutorial for a very basic (but yet helpful) introduction to OpenCV images..