Я хочу осознать, что кривая тона, как тона, < /p>
У меня предопределенный набор кривых, которые я должен применить к изображению. Эта диаграмма мы видим зависимости от значения текущего тона от нового, например:
, если мы получим первую точку слева - каждый r, g и b, которые = 0 будут преобразованы в 64
или каждое значение более 224, будет преобразована в 0 и т. Кривая: < /p>
< /p>
и здесь код: < /p>
//init original image
cv::Mat originalMat = [self cvMatFromUIImage:inputImage];
//out image the same size
cv::Mat outMat = [self cvMatFromUIImage:inputImage];
//loop throw every row of image
for( int y = 0; y < originalMat.rows; y++ ){
//loop throw every column of image
for( int x = 0; x < originalMat.cols; x++ ){
//loop throw every color channel of image (R,G,B)
for( int c = 0; c < 3; c++ ){
if(originalMat.at(y,x)[c] 64)&&(originalMat.at(y,x)[c] 128))
outMat.at(y,x)[c] = ( originalMat.at(y,x)[c] ) + 128 -
(( originalMat.at(y,x)[c] ) - 128) * 3;
} //end of r,g,b loop
} //end of column loop
} //end of row loop
//send to output
return [self UIImageFromCVMat:outMat];
< /code>
Но здесь результат я получаю:
< /p>
по какой -то причине. Я ожидал:
Обновление 0
. и изображение обновлено), но все еще не понимает, почему только 3/4 изображений обрабатывались. < /p>
Не уверен, что понимает, почему появляется «шум», надеюсь, из -за кривой не гладкой. < /p>
выглядит способ избежать .at < /code> операция.
Обновление 1
исходное изображение:
> > > "/>"/> "/>"/> "/>"/Prc = "/Prc ="/PR>
Подробнее здесь: https://stackoverflow.com/questions/421 ... nly-3-4-of