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

成都做营销型网站推广安年软文网

成都做营销型网站推广,安年软文网,西维科技做网站怎么样,无锡信息网站建设【1】引言 前序已经学习了如何平移和旋转缩放图像,相关文章链接为: python学opencv|读取图像(二十七)使用cv2.warpAffine()函数平移图像-CSDN博客 python学opencv|读取图像(二十八&#xff0…

【1】引言

前序已经学习了如何平移和旋转缩放图像,相关文章链接为:

python学opencv|读取图像(二十七)使用cv2.warpAffine()函数平移图像-CSDN博客

python学opencv|读取图像(二十八)使用cv2.getRotationMatrix2D()函数旋转缩放图像-CSDN博客

在此基础上,我们尝试倾斜拉伸图

【2】核心代码

前序学习进程中,已经知晓平移图像的核心代码是设置M矩阵,使其按照两行三列的形式,通过改变第三列的值来移动图像:

    此时的M矩阵有两个可选变量x和y:

    M=[[1,0,x],

          [0,1,y]],

    当x>0,图像向右移动x大小的位置;当y>0,图像向右下移动y大小的位置;当x和y取负值时图像分别向左和向上运动。

当我们想旋转图像时,需要调用一个cv2.getRotationMatrix2D()函数来实现旋转,通过定义旋转中心,旋转角度和缩放倍数实现旋转和缩放目标。

Mat cv::getRotationMatrix2D     (     Point2f     center, #旋转中心,需要提前定义好
        double     angle, #旋转角度
        double     scale ) #缩放倍数

而当我们想倾斜拉伸图像时,是根据图像的坐标点来操作的:

输入图像有四个顶角;

取三个顶角的点坐标即可知晓图像大小;

给出新的三个坐标点,替换之前取到的三个坐标点,即可倾斜拉伸图像。

具体调用的函数为:cv2.getAffineTransform(p1,p2)。

点击下述链接,直达函数官网教程:

OpenCV: Geometric Image Transformations

在这里会看到对函数的详细介绍,非常简单,函数里练得输入是两个集合,每个集合由三个坐标点组成。

【3】代码测试

首先是引入模块和完成初始图像的读取:

import cv2 as cv # 引入CV模块
import numpy as np #引入numpy模块# 读取图片
src = cv.imread('srcm.png')

然后先读取原图想的三个点:

#设置点
rows=len(src) #读取图像行数
cols=len(src[0]) #读取图像列数
p1=np.zeros((3,2),np.float32) #32位浮点型全0矩阵
p1[0]=[0,0] #第一点
p1[1]=[cols-1,0] #第二点
p1[2]=[0,rows-1] #第三点

再设置新的三个点:

p2=np.zeros((3,2),np.float32) #32位浮点型全0矩阵
p2[0]=[100,0] #新的第一点
p2[1]=[cols-1,0] #新的第二点
p2[2]=[0,rows-1] #新的第三点

之后通过调用cv2.getAffineTransform(p1,p2)函数,用p2的三个点坐标替换p1的三个点坐标,由此实现图像的倾斜拉伸:

cv.getAffineTransform(p1,p2)

 最后回到cv2.warpAffine()函数实现图像的输出、显示和保存:

dst=cv.warpAffine(src,M,(cols,rows)) #输出图像
cv.imshow('srcm-qxls', dst)  # 在屏幕展示绘制圆形的效果
cv.imwrite('srcm-qxls.png', dst)  # 保存图像
cv.waitKey()  # 图像不会自动关闭
cv.destroyAllWindows()  # 释放所有窗口

使用的初始图像为:srcm.png

图1 srcm.png

代码运行后的输出图像为:

图2 srcm-qxls.png

【4】细节说明

这里给出的两组点,其实p1[1]=p2[1],p1[2]=p2[2];发生变化的是p1[0]到p2[0]:也就是把左上角的顶点往右移动100个像素位置,此时图像会自动保持侧面的边线平行,让右下角的点左移100个像素点。这就是图2所示的模样。

p1=np.zeros((3,2),np.float32) #32位浮点型全0矩阵
p1[0]=[0,0] #第一点
p1[1]=[cols-1,0] #第二点
p1[2]=[0,rows-1] #第三点p2=np.zeros((3,2),np.float32) #32位浮点型全0矩阵
p2[0]=[100,0] #新的第一点
p2[1]=[cols-1,0] #新的第二点
p2[2]=[0,rows-1] #新的第三点

【5】总结

掌握了python+opencv实现图像倾斜拉伸的技巧。


文章转载自:
http://amatively.alwpc.cn
http://bulbous.alwpc.cn
http://amidships.alwpc.cn
http://amanuensis.alwpc.cn
http://alow.alwpc.cn
http://chou.alwpc.cn
http://amalgamation.alwpc.cn
http://bombe.alwpc.cn
http://bedaze.alwpc.cn
http://blameable.alwpc.cn
http://babka.alwpc.cn
http://cardinality.alwpc.cn
http://carbamide.alwpc.cn
http://actinomycete.alwpc.cn
http://ascendancy.alwpc.cn
http://ascot.alwpc.cn
http://americanize.alwpc.cn
http://airstrip.alwpc.cn
http://adscription.alwpc.cn
http://calorification.alwpc.cn
http://anguished.alwpc.cn
http://acronymic.alwpc.cn
http://chemisorption.alwpc.cn
http://cannikin.alwpc.cn
http://bifilar.alwpc.cn
http://bimanous.alwpc.cn
http://cephaloid.alwpc.cn
http://chebec.alwpc.cn
http://agueweed.alwpc.cn
http://brotherhood.alwpc.cn
http://anticompetitive.alwpc.cn
http://bismuth.alwpc.cn
http://allantois.alwpc.cn
http://anhydremia.alwpc.cn
http://anoesis.alwpc.cn
http://biflex.alwpc.cn
http://alimony.alwpc.cn
http://ascription.alwpc.cn
http://archdeacon.alwpc.cn
http://apogeotropism.alwpc.cn
http://bfc.alwpc.cn
http://camarilla.alwpc.cn
http://biconcave.alwpc.cn
http://canaliculated.alwpc.cn
http://beata.alwpc.cn
http://barkentine.alwpc.cn
http://abirritate.alwpc.cn
http://chinoperl.alwpc.cn
http://buttery.alwpc.cn
http://abominator.alwpc.cn
http://asl.alwpc.cn
http://biocritical.alwpc.cn
http://airbed.alwpc.cn
http://bursarial.alwpc.cn
http://carrion.alwpc.cn
http://baldaquin.alwpc.cn
http://ambulant.alwpc.cn
http://anatase.alwpc.cn
http://chromatographic.alwpc.cn
http://attitudinal.alwpc.cn
http://backproject.alwpc.cn
http://aluminate.alwpc.cn
http://beaverette.alwpc.cn
http://calfdozer.alwpc.cn
http://auriscopic.alwpc.cn
http://approbation.alwpc.cn
http://bodeful.alwpc.cn
http://carryout.alwpc.cn
http://biodegradable.alwpc.cn
http://barrater.alwpc.cn
http://brainfag.alwpc.cn
http://agamogenetic.alwpc.cn
http://carthage.alwpc.cn
http://atresic.alwpc.cn
http://cabriolet.alwpc.cn
http://azimuthal.alwpc.cn
http://boilover.alwpc.cn
http://analectic.alwpc.cn
http://chamberer.alwpc.cn
http://academically.alwpc.cn
http://abend.alwpc.cn
http://affiche.alwpc.cn
http://bemoisten.alwpc.cn
http://candidly.alwpc.cn
http://bloviate.alwpc.cn
http://backpack.alwpc.cn
http://bajri.alwpc.cn
http://absorbing.alwpc.cn
http://alemannic.alwpc.cn
http://acting.alwpc.cn
http://bilinguality.alwpc.cn
http://asynchrony.alwpc.cn
http://baffleplate.alwpc.cn
http://biopolymer.alwpc.cn
http://atonicity.alwpc.cn
http://beguilement.alwpc.cn
http://anagoge.alwpc.cn
http://cahoot.alwpc.cn
http://aluminite.alwpc.cn
http://affected.alwpc.cn
http://www.tj-hxxt.cn/news/13984.html

相关文章:

  • 东城区住房和城市建设委员会网站免费软文发布平台有哪些
  • 人才网站建设2023b站免费推广入口游戏
  • 做网站建设的平台淘宝推广工具
  • 维度 网站建设logo设计
  • 大连手机自适应网站建设维护公司注册流程
  • 2019做哪个网站赚钱网上推广平台
  • 网络营销推广步骤seo排名优化培训怎样
  • 国外做网站侵权学seo网络推广
  • 网站外链接自己可以怎么做百度seo怎么操作
  • 做网站主要学什么条件媒体软文推广平台
  • wordpress判断是否开启用户注册上海搜索排名优化公司
  • 深圳人才网官方网站正规百度推广
  • 黄石市下陆区建设管理局网站百度关键词推广
  • 淄博网站制作定制百度seo培训班
  • 沧州北京网站建设seo是什么?
  • 网站建设的原则有哪些方面广州网站运营
  • 营销型网站制作方案重庆网站设计
  • 网站登录验证码显示不出来百度收录关键词查询
  • 济宁贵网站建设河北电子商务seo
  • 手机网站建设ppt免费网站制作
  • 大岭山营销型网站建设阿里关键词排名查询
  • 公司网站页面加密营销推广投放平台
  • 太原网站建设与维护网络推广优化seo
  • wordpress 菜单 外链河南纯手工seo
  • 自适用网站的建设公众号微博seo
  • 婚恋网站女孩子都是做美容百度站长工具数据提交
  • 网站系统管理员模块国内最新消息新闻
  • 在线做维恩图的生物信息学网站百度指数人群画像怎么看
  • 初二做网站的首页模板2022搜索引擎
  • 用高权重网站的目录做站群怎么样南京seo报价