网站 公司,无锡找厂网站,工程公司的会计做账有哪些科目,放心营销网站开发在条形码识别软件中有图像预览的功能。有时预览的图像需要进行转置#xff08;旋转180度或者90度#xff09;、缩放、镜像#xff08;左右反转#xff09;等操作。OpenCV提供了相应的函数进行以上操作。例如#xff1a; 转置#xff1a;cv::WarpAffine() 缩放#xff… 在条形码识别软件中有图像预览的功能。有时预览的图像需要进行转置旋转180度或者90度、缩放、镜像左右反转等操作。OpenCV提供了相应的函数进行以上操作。例如 转置cv::WarpAffine() 缩放cv::resize() 镜像cv::remap() 如果同时要转置缩放和镜像就需要进行三次图像运算。其实以上三个操作都是同一类型的变化称作仿射变化。可以把这3次图像运算合并成一次从而优化运算时间。如何合并这三次运算需要从仿射变换的原理说起。 举个例子我们需要对以下图像蓝色顺时针旋转90度橙色可以这么做假设原来的图像宽w高h (1) 创建宽h高w内存区域存放新图像 (2) 逐一把原图像中的像素(x0,y0)搬到新图像的对应像素(x1,y1) 例如原图像的左上角点①(0,0)被搬到新图像的右上角(h,0) 右上角点②(w,0)被搬到新图像的右下角(h,w) 右下角③(w, h)被搬到新图像的左下角(0,w) 以此类推可以发现(x0, y0)和(x1, y1)之间存在以下规律 X1-y0h; y1x0; 对于其他各种几何变换平移、缩放、镜像等我们都可以用类似的方法进行运算。因此可以把上式写成通用的形式 x1ax*x0bx*y0cx
y1ay*x0by*y0cy
在顺时针旋转90度的例子中 ax0,bx1,cx0;ay−1,by0,cyw
更一般的我们可以把上面写成矩阵形式 (x1y1)(axaybxbycxcy)×⎛⎝⎜x0y01⎞⎠⎟ 或者齐次形式。⎛⎝⎜x1y11⎞⎠⎟⎛⎝⎜axay0bxby0cxcy1⎞⎠⎟×⎛⎝⎜x0y01⎞⎠⎟我们把矩阵MT⎛⎝⎜axay0bxby0cxcy1⎞⎠⎟称作仿射矩阵。 转载自
http://blog.csdn.net/bytekiller/article/details/47803753