0

我想制作一个可以改变图像视图中图像饱和度的滑块。

我目前正在使用 OpenCV。我在网上找到了一些代码并尝试了它。它正在工作,但它的工作方式有点奇怪。图像上有一个白色的杯子,但它的颜色一直是彩虹,不管值如何(除非它是完全灰度的)。

- (IBAction)stSlider:(id)sender {

float value = stSlider.value;

UIImage *image = [UIImage imageNamed:@"sushi.jpg"];
cv::Mat mat = [self cvMatFromUIImage:image];

cv::cvtColor(mat, mat, CV_RGB2HSV);



for (int i=0; i<mat.rows;i++)
{ for (int j=0; j<mat.cols;j++)
{
    int idx = 1;
    mat.at<cv::Vec3b>(i,j)[idx] = value;

}
}

cv::cvtColor(mat, mat, CV_HSV2RGB);
imageView.image = [self UIImageFromCVMat:mat];

}

这是我使用的代码。请告诉我必须更改哪个部分才能使其正常工作。

4

0 回答 0