本文为作者原创文章,未经同意严禁转载!

opencv中的仿射变换在python中的应用并未发现有细致的讲解,函数cv2.warpAffine的参数也模糊不清,今天和大家分享一下参数的功能和具体效果,如下:

官方给出的参数为:

cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) → dst

其中:

src - 输入图像。
M - 变换矩阵。
dsize - 输出图像的大小。
flags - 插值方法的组合(int 类型!)
borderMode - 边界像素模式(int 类型!)
borderValue - (重点!)边界填充值; 默认情况下,它为0。

上述参数中:M作为仿射变换矩阵,一般反映平移或旋转的关系,为InputArray类型的2×3的变换矩阵。

flages表示插值方式,默认为 flags=cv2.INTER_LINEAR,表示线性插值,此外还有:cv2.INTER_NEAREST(最近邻插值)   cv2.INTER_AREA (区域插值)  cv2.INTER_CUBIC(三次样条插值)    cv2.INTER_LANCZOS4(Lanczos插值)

日常进行仿射变换时,在只设置前三个参数的情况下,如 cv2.warpAffine(img,M,(rows,cols))可以实现基本的仿射变换效果,但可以出现“黑边”现象,如图:

这对后续的处理往往造成很大的困扰,第六个参数可以选择填充的颜色,默认为黑色。在python中设置warpAffine的参数与c++中有所不同,必须指明参数的名称,具体如下:

c++中:warpAffine(src,img,M,Size(a,b),1,0,Scalar(255,255,255));

python中:

cv2.warpAffine(img,M,(rows,cols),flags=cv2.INTER_,borderMode=cv2.BORDER_REFLECT,borderValue=(255,255,255))

在python 中有一个好处是不必按顺序设置,直接指明所设置的参数即可,如将上述图片边界区域填充为白色:

cv2.warpAffine(img,M,(lengh,lengh),borderValue=(255,255,255)) 

效果图:

cv2.warpAffine 参数详解相关推荐

  1. cv2.warpAffine()参数详解

    官方给出的参数为: cv2.warpAffine(src, M, dsize[, dst[, flags[, borderMode[, borderValue]]]]) →dst 其中: src - ...

  2. opencv学习笔记五:cv2.warpAffine()函数详解

    cv2.warpAffine()函数主要是利用变换矩阵M对图像进行如旋转.仿射.平移等变换,只需要我们提供一个2*3的变换矩阵M,就可以对图像进行变换.它一般是和cv2.getRotationMatr ...

  3. 计算机视觉开源库OpenCV添加文字cv2.putText()参数详解

    cv2.putText(img, text, org, fontFace,fontScale, color[, thickness[, lineType[, bottomLeftOrigin]]]) ...

  4. python中cv2.putText参数详解

    cv2.putText(img, str(i), (123,456)), font, 2, (0,255,0), 3) 各参数依次是:图片,添加的文字,左上角坐标,字体,字体大小,颜色,字体粗细 其中 ...

  5. cv2.fitEllipse函数详解:ellipse参数并根据参数计算出椭圆焦点坐标

    cv2.fitEllipse函数详解:ellipse参数并根据参数计算出椭圆焦点坐标 最近因为用到了这个函数,所以就趁着这个机会,好好顺顺,做下记录. ellipse = cv2.fitEllipse ...

  6. OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减法的差异对比

    ☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.概述 在<OpenCV-Python图像的加法运算cv2.add函数详解> ...

  7. Python OpenCV相机参数详解:实现准确的相机标定和图像处理

    Python OpenCV相机参数详解:实现准确的相机标定和图像处理 在计算机视觉领域,相机参数是非常重要的元素.通过相机参数的标定,可以将图像中的像素坐标转化为真实世界中的坐标,从而实现准确的图像处 ...

  8. 高斯滤波GaussianBlur()中参数详解

    高斯滤波GaussianBlur()中参数详解: 高斯滤波是应用于图像处理,对图像进行滤波操作(平滑操作.过滤操作,去噪操作) 在python中的格式为: cv2.GaussianBlur( SRC, ...

  9. python中减法运算函数_OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减...

    OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减 OpenCV-Python图像的减法运算cv2.subtract函数详解以及和矩阵减法的差异对比 ? ? 前往老猿 ...

最新文章

  1. 在WinRT中读取资源文件
  2. POJ3185 The Water Bowls(反转法or dfs 爆搜)
  3. SonarQube4.4+Jenkins进行代码检查实例之二
  4. 设计模式在Netty中的应用-责任链模式源码举例
  5. 广播电视加速技术迭代,如何用新技术拥抱行业转型?
  6. js类似matlab_JavaScript与MATLAB的计算性能差异对比研究
  7. Java事务的类型有三种
  8. 关于 javadoc
  9. 去除新安装火狐浏览器黑色背景
  10. Android修改源码实现root
  11. oracle出现ora 12514,Oracle 11g ORA-12514 解决办法
  12. 腾讯音乐2020年报:懒人听书收购完成,谢振宇、太盟投资减持
  13. 天津理工大学计算机项目管理实验四,天津理工大学软件工程实验报告4.docx
  14. java foreach循环语句_Javaforeach语句
  15. 高考计算机会考等级划分标准,学考等级划分标准
  16. java计算机毕业设计学校意见征集系统源码+系统+mysql数据库+lw文档
  17. 技术小黑屋投稿开放了
  18. android allapp图标拖动,RecyclerView 拖拽移动,长按小图标拖拽,侧滑删除
  19. 千万级巨型汉语词库分享
  20. mysql项目案例电影_Python+Django+Mysql实现在线电影推荐系统 基于用户、项目的协同过滤推荐在线电影系统 代码实现 源代码下载...

热门文章

  1. 【软考-中级】系统集成项目管理工程师-【1信息化知识】
  2. 【转载】详细设计说明书模板
  3. 【数据库SQL实战】获取员工其当前的薪水比其manager当前薪水还高的相关信息
  4. 牛根生的“牛“,牛在哪里?
  5. matlab 图像 放大缩小,图像的放大与缩小(MATLAB 代码)
  6. 微服务架构之限流熔断
  7. Latex角度输入(°)
  8. 安保巡逻机器人如何在公共场所提供安全应用?
  9. Linux下useradd命令与adduser命令的区别(adduser更适合初级使用者,useradd比较适合有些高阶经验的使用者)
  10. 开源社区——自我成长的策源地