int main()
{
Mat M=imread("21.jpg",1);
Mat dst,dst2;
cvtColor(M,dst,CV_RGB2HSV);
imshow("src",M);
vector<Mat> hsvChannels;
split(dst,hsvChannels);
imshow("v",hsvChannels[2]);
for(int i=0;i<hsvChannels[2].rows;i++)
{
uchar*pt=(uchar*)hsvChannels[2].ptr(i);
for(int j=0;j<hsvChannels[2].cols;j++)
{
pt[j]=(uchar)(log(1.0+pt[j])*255/log(256.0));
}
}
imshow("v2",hsvChannels[2]);
merge(hsvChannels,dst);
imshow("dst",dst);
cvtColor(dst,dst2,CV_HSV2RGB);
imshow("dst2",dst2);
cv::waitKey(0);
return 0;
}