在OpenCV里学习常见问题汇编29
2023-09-14 09:10:32 时间
问题二十九:仿射变换( Afine Transformations )——放大缩小
这个问题与前的问题其实是一样的解决方案,就是对矩阵进行相乘,对像素所在的坐标进行变换。现在想对图像在X轴方向放大1.3倍,在Y轴上缩小0.8倍,并且进行前面的平移操作,可以根据仿射变换公式:
根据这个变换公式就可以使用代码表示如下:
adbc = a * d - b * c
x = np.round((d * x_new - b * y_new) / adbc).astype(np.int) - tx + 1
y = np.round((-c * x_new + a * y_new) / adbc).astype(np.int) - ty + 1
在这里就可以通过变换前和变换后坐标计算出来,然后就可以获得图像像素的在新图像里表示。
相关文章
- opencv-contrib模块详解_opencv安装包
- OpenCV相机标定全过程
- OpenCV实现SfM(一):相机模型
- OpenCV-Python学习(15)—— OpenCV 图像旋转角度计算(NumPy 三角函数)
- c语言读取bmp图像_opencv 图像处理
- OpenCV-Python学习(3)—— OpenCV 图像色彩空间转换
- C++版OpenCV使用支持向量机svm进行mnist手写数字识别
- OpenCV 教程 03: 如何跟踪视频中的某一对象
- opencv中scalar_opencv ffmpeg
- OpenCV-Python学习(13)—— OpenCV 多边形填充与绘制(cv.fillPoly、cv.polylines)
- OpenCV趣味应用系列--grabCut人物背景替换
- OpenCV这么简单为啥不学——1.3、图像缩放resize函数
- OpenCV这么简单为啥不学——1.12、使用ssim函数对两张照片进行相似度分析
- 【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ② ( VS 中创建 CMake 工程 | CMake 工程中配置 OpenCV 头文件 )
- Linux系统切换opencv版本教程
- vLinux下开发OpenCV应用(linuxopenc)
- python中使用OpenCV进行人脸检测的例子