cv::remap
基本思路转换为极坐标系,然后根据r给th一个偏移量,示例给的偏移量是 log(k*r+b)*log(k*r+b)
void valueChanged(double radius,double rate) {
this->setAlgorithm([rate_=rate,
radius,
this
](const QImage &arg)->QImage {
if (rate_<.00000001) { return arg; }
if (radius<.00000001) { return arg; }
auto rate=1.0/rate_;
try {
cv::Mat inputMat(arg.height(),arg.width(),CV_8UC3,
const_cast<uchar*>(arg.constBits()),
arg.bytesPerLine());
/*copy the image*/
QImage ans={ arg.size(),arg.format() };
cv::Mat outputMat(
ans.height(),ans.width(),CV_8UC3,
const_cast<uchar*>(ans.constBits()),
ans.byt