当前位置: 首页 > news >正文

苏州网站建设公司有哪些网站建设培训东莞市

苏州网站建设公司有哪些,网站建设培训东莞市,手机移动端网站是什么,深圳 网站制作需要多少钱 网络服务什么是仿射#xff1f; 仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够 保持图像的平直性和平行性。平直性是指图像经过仿射变换后#xff0c;直线仍然是直线#xff1b;平行性是指 图像在完成仿射变换后#xff0c;平行线仍然是平行线。…什么是仿射 仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够 保持图像的平直性和平行性。平直性是指图像经过仿射变换后直线仍然是直线平行性是指 图像在完成仿射变换后平行线仍然是平行线。 OpenCV 中的仿射函数为 cv2.warpAffine()其通过一个变换矩阵映射矩阵M 实现变换 具体为 dst(, ) src(11 12 13, 21 22 23) 如图 5-2 所示可以通过一个变换矩阵 M将原始图像 O 变换为仿射图像 R 因此可以采用仿射函数 cv2.warpAffine()实现对图像的旋转该函数的语法格式如下 dst cv2.warpAffine( src, M, dsize[, flags[, borderMode[, borderValue]]] )式中 dst 代表仿射后的输出图像该图像的类型和原始图像的类型相同。 dsize 决定输出图像的实际大小。 src 代表要仿射的原始图像。 M 代表一个 2×3 的变换矩阵。使用不同的变换矩阵就可以实现不同的仿射变换。 dsize 代表输出图像的尺寸大小。 flags 代表插值方法默认为 INTER_LINEAR。当该值为 WARP_INVERSE_MAP 时 意味着 M 是逆变换类型实现从目标图像 dst 到原始图像 src 的逆变换。  borderMode 代表边类型 默认为 BORDER_CONSTANT 。 当 该值为 BORDER_TRANSPARENT 时意味着目标图像内的值不做改变这些值对应原始图像内的异常 值。  borderValue 代表边界值默认是 0。 通过以上分析可知在 OpenCV 中使用函数 cv2.warpAffine()实现仿射变换忽略其可选参数后的语法格式为 dst cv2.warpAffine( src , M , dsize )其通过转换矩阵 M 将原始图像 src 转换为目标图像 dst dst(, ) src(11 12 13, 21 22 23)因此进行何种形式的仿射变换完全取决于转换矩阵 M。下面分别介绍通过不同的转换矩阵 M 实现的不同的仿射变换。 平移 通过转换矩阵 M 实现将原始图像 src 转换为目标图像 dst dst(, ) src(11 12 13, 21 22 23) 将原始图像 src 向右侧移动 100 个像素、向下方移动 200 个像素则其对应关系为 dst (x, y) src (x 100, y 200) 将上述表达式补充完整即 dst (x, y) src (1·x 0·y 100, 0·x 1·y 200) 根据上述表达式可以确定对应的转换矩阵 M 中各个元素的值为  M111  M120  M13100  M210  M221  M23200 将上述值代入转换矩阵 M得到 在已知转换矩阵 M 的情况下可以直接利用转换矩阵 M 调用函数 cv2.warpAffine() 完成图像的平移。 实验利用自定义转换矩阵完成图像平移。 import cv2 import numpy as np imgcv2.imread(lena.png) height,widthimg.shape[:2] x100 y200 M np.float32([[1, 0, x], [0, 1, y]]) movecv2.warpAffine(img,M,(width,height)) cv2.imshow(original,img) cv2.imshow(move,move) cv2.waitKey() cv2.destroyAllWindows()运行结果 其中左图是原始图像右图是移动结果图像 旋转 在使用函数 cv2.warpAffine()对图像进行旋转时可以通过函数 cv2.getRotationMatrix2D() 获取转换矩阵。该函数的语法格式为 retvalcv2.getRotationMatrix2D(center, angle, scale)式中  center 为旋转的中心点。  angle 为旋转角度正数表示逆时针旋转负数表示顺时针旋转。  scale 为变换尺度缩放大小。 利用函数 cv2.getRotationMatrix2D()可以直接生成要使用的转换矩阵 M。 例如想要以图像中心为圆点逆时针旋转 45°并将目标图像缩小为原始图像的 0.6 倍则在调用函数 cv2.getRotationMatrix2D()生成转换矩阵 M 时所使用的语句为 Mcv2.getRotationMatrix2D((height/2,width/2),45,0.6) 实验2完成图像旋转 代码 import cv2 import numpy as np imgcv2.imread(lena.png) height,widthimg.shape[:2] Mcv2.getRotationMatrix2D((width/2,height/2),45,0.6) rotatecv2.warpAffine(img,M,(width,height)) cv2.imshow(original,img) cv2.imshow(rotation,rotate) cv2.waitKey() cv2.destroyAllWindows()其中左图是原始图像右图是旋转结果图像 更复杂的仿射变换 对于更复杂仿射变换OpenCV 提供了 函数 cv2.getAffineTransform()来生成仿射函数 cv2.warpAffine()所使用的转换矩阵 M。该函数的语法格式为 retvalcv2.getAffineTransform(src, dst)式中  src 代表输入图像的三个点坐标。  dst 代表输出图像的三个点坐标。 在该函数中其参数值 src 和 dst 是包含三个二维数组(x, y)点的数组。上述参数通过函数 cv2.getAffineTransform()定义了两个平行四边形。src 和 dst 中的三个点分别对应平行四边形的 左上角、右上角、左下角三个点。函数 cv2.warpAffine()以函数 cv2.getAffineTransform()获取的 转换矩阵 M 为参数将 src 中的点仿射到 dst 中。函数 cv2.getAffineTransform() 对所指定的点完成映射后将所有其他点的映射关系按照指定点的关系计算确定。 实验3完成图像仿射 import cv2 import numpy as np imgcv2.imread(lena.png) rows,cols,chimg.shape #定义三个点 p1np.float32([[0,0],[cols-1,0],[0,rows-1]])print(p1) #定义三个点的变换位置 p2np.float32([[0,rows*0.33],[cols*0.85,rows*0.25],[cols*0.15,rows*0.7]]) print(p2) #生成变换矩阵 Mcv2.getAffineTransform(p1,p2) #进行仿射变换 dstcv2.warpAffine(img,M,(cols,rows)) cv2.imshow(origianl,img) cv2.imshow(result,dst) cv2.waitKey() cv2.destroyAllWindows()首先构造了两个三分量的点集合 p1 和 p2分别用来指代原始图像和目标图像内平行四边形的三个顶点左上角、右上角、左下角。 然后使用 Mcv2.getAffineTransform(p1,p2) 获取转换矩阵 M。接下来 dstcv2.warpAffine(img,M,(cols,rows)) 完成了从原始图像到目标图像的仿射。 运行结果 其中左图是原始图像右图是仿射结果图像
http://www.hkea.cn/news/14325672/

相关文章:

  • 网站主体证件wordpress上传插件卡死
  • 网站logo设计理念上饶有哪些做网站的公司
  • 做网站用别人图片文章会侵权吗成都优化官网推广
  • 东营网站建设收益高百度在线翻译
  • 四川省微信网站建设公做纪录片卖给视频网站
  • 两学一做网站上海闵行刚刚发生的
  • iis7.0搭建网站百度hao123
  • 国内付费代理ip哪个好奉化商用关键词优化
  • 如何做设计网站页面建设网站的费用属于
  • lamp网站建设如何做网络营销推广5
  • 制作网站网页设计网站建设为了什么
  • 舟山做网站的公司公司有些网站打不开
  • 斐讯k3做网站网站建设 图书
  • wordpress 删除自己的评论seo搜索引擎优化简历
  • 手机网站主页推荐湖北住房和城乡建设厅网站
  • 网站建设介绍ppt2万元最简单装修
  • 服装店网站建设思路网站建设本科毕业设计论文
  • 济南网站建设92jzh加强文化网站建设
  • 婚纱外贸soho建哪种网站好合肥建设网站制作哪个好
  • wordpress建站配置对Wordpress系统的感想
  • 网站推广方案策划书南京最好的网页制作公司
  • 建设工程材料信息价查什么网站郴州免费招聘网站
  • 网站的动画广告横幅怎么做的wordpress自定义
  • 网站建设和维护费用自考软件开发工具
  • 最便宜做公司网站极客学院 wordpress
  • 网站套模板教程wordpress sae 上传
  • 茌平网站制作公司淘宝网站怎么建设的更加好
  • 上海网站建设优化淄博网站建设讲解透彻
  • 网站有免费的域名和空间么wordpress去除相册样式
  • 网站建设毕业设计中期报告装修公司网站源码php