画像ビューで画像の彩度を変更できるスライダーを作りたいです。
私は現在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];
}
これは私が使用したコードです。正しく動作させるためにどの部分を変更する必要があるか教えてください。