首次看到错切概念的时候一脸懵逼,对于图像的平移、旋转、或者缩放都有一个感性认识,就是知道是咋回事,但是错切这个概念看到的时候没有任何概念,经过一番调查研究,对图形错切有个一个比较清晰的概念,分享在这里供大家参考。
先说说错切的标准概念:
图像的错切变换也称斜切,是指平面景物在投影平面上的非垂直投影,使图像中的图形在水平方向或垂直方向产生扭变。
看不懂这个没有关系,用一个通俗易懂的例子理解就是拿一张A4白纸,从白纸上方垂直往下看到桌面,是一个标准的长方体这就叫垂直投影;如果保持一个轴(X轴或者Y轴)不变,使另外一个边斜着向下看,是不是就一个侧面是平行四边形的立体结构,这个时候A4的投影已经变成了一个平行四边形。这个平行四边形就是错切。这样看的话是不是就很容易理解了。看如下图形示意:
上图中蓝色面为原图像,红色为投影,其中第一个为垂直投影,即原图像和投影是垂直的;第二幅图中蓝色部分和红色部分很明显只有平行关系,没有垂直关系。
实例验证:
Mat cq = Mat::zeros(2, 3, CV_32FC1);
cq.at<float>(0, 0) = 1;
cq.at<float>(0, 1) = 0.2;
cq.at<float>(1, 1) = 1;
Mat cqmat;
warpAffine(img, cqmat, cq, Size(img.cols, img.rows));
效果如下,图像正常显示:
错切后的图像如下:
通过上面两幅图对比,可以看到错切就是一个人斜着向下看的样子。