范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Python图像处理六。图像缩放图像旋转图像翻转与图像平移

  也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大
  少走了弯路,也就错过了风景,无论如何,感谢经历
  更多关于Android安全的知识,可前往:https://blog.csdn.net/ananasorangey/category11955914.html
  本篇文章转载自公众号[娜璋AI安全之家]
  该系列文章是讲解Python OpenCV图像处理知识,前期主要讲解图像入门、OpenCV基础用法,中期讲解图像处理的各种算法,包括图像锐化算子、图像增强技术、图像分割等,后期结合深度学习研究图像识别、图像分类、目标检测应用。
  前一篇文章介绍Python调用OpenCV实现图像融合、图像加减法、图像逻辑运算和类型转换。这篇文章将详细讲解图像缩放、图像旋转、图像翻转、图像平移。希望文章对您有所帮助,如果有不足之处,还请海涵~  一.图像缩放  二.图像旋转  三.图像翻转  四.图像平移
  该系列在github所有源代码:  https://github.com/eastmountyxz/  ImageProcessing-Python
  前文回顾(下面的超链接可以点击喔):  [Python图像处理] 一.图像处理基础知识及OpenCV入门函数  [Python图像处理] 二.OpenCV+Numpy库读取与修改像素  [Python图像处理] 三.获取图像属性、兴趣ROI区域及通道处理  [Python图像处理] 四.图像平滑之均值滤波、方框滤波、高斯滤波、中值滤波及双边滤波  [Python图像处理] 五.图像融合、加法运算及图像类型转换  [Python图像处理] 六.图像缩放、图像旋转、图像翻转与图像平移
  学Python近八年,认识了很多大佬和朋友,感恩。由于在外求学且需要养娃,故在CSDN设置成了最低价收费专栏,觉得不错的可以购买抬爱;但作者的本意是帮助更多初学者入门,因此在github开源了所有代码,也在公众号同步更新。深知自己很菜,得拼命努力前行,编程也没有什么捷径,干就对了。希望未来能更透彻学习和撰写文章,同时非常感谢参考文献中的大佬们的文章和分享,共勉。
  - https://blog.csdn.net/eastmount   一.图像缩放
  图像缩放主要调用resize()函数实现,具体如下: result = cv2.resize(src, dsize[, result[. fx[, fy[, interpolation]]]])
  其中src表示原始图像,dsize表示缩放大小,fx和fy也可以表示缩放大小倍数,他们两个(dsize或fxfy)设置一个即可实现图像缩放。例如: result = cv2.resize(src, (160,160)) result = cv2.resize(src, None, fx=0.5, fy=0.5)
  图像缩放:设(x0, y0)是缩放后的坐标,(x, y)是缩放前的坐标,sx、sy为缩放因子,则公式如下:
  代码示例如下所示: #encoding:utf-8 import cv2   import numpy as np     #读取图片 src = cv2.imread("test.jpg")  #图像缩放 result = cv2.resize(src, (200,100)) print(result.shape)  #显示图像 cv2.imshow("src", src) cv2.imshow("result", result)  #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
  输出结果如下图所示,图像缩小为(200,100)像素。
  需要注意的是,代码中 cv2.resize(src, (200,100)) 设置的dsize是列数为200,行数为100。
  同样,可以获取原始图像像素再乘以缩放系数进行图像变换,代码如下所示。 #encoding:utf-8 import cv2   import numpy as np     #读取图片 src = cv2.imread("test.jpg") rows, cols = src.shape[:2] print(rows, cols)  #图像缩放 dsize(列,行) result = cv2.resize(src, (int(cols*0.6), int(rows*1.2)))  #显示图像 cv2.imshow("src", src) cv2.imshow("result", result)  #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
  输出结果如下图所示:
  最后讲解(fx,fy)缩放倍数的方法对图像进行放大或缩小。 #encoding:utf-8 import cv2   import numpy as np     #读取图片 src = cv2.imread("test.jpg") rows, cols = src.shape[:2] print(rows, cols)  #图像缩放 result = cv2.resize(src, None, fx=0.3, fy=0.3)  #显示图像 cv2.imshow("src", src) cv2.imshow("result", result)  #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
  最后输出的结果如下图所示,这是按例比0.3*0.3缩小的。
  二.图像旋转
  图像旋转主要调用getRotationMatrix2D()函数和warpAffine()函数实现,绕图像的中心旋转,具体如下: M = cv2.getRotationMatrix2D( (cols/2, rows/2), 30, 1)
  参数分别为:旋转中心、旋转度数、scalerotated = cv2.warpAffine( src, M, (cols, rows))
  参数分别为:原始图像、旋转参数、原始图像宽高
  图像旋转:设(x0, y0)是旋转后的坐标,(x, y)是旋转前的坐标,(m,n)是旋转中心,a是旋转的角度,(left,top)是旋转后图像的左上角坐标,则公式如下:
  代码如下所示: #encoding:utf-8 import cv2   import numpy as np     #读取图片 src = cv2.imread("test.jpg")  #原图的高、宽 以及通道数 rows, cols, channel = src.shape  #绕图像的中心旋转 #参数:旋转中心 旋转度数 scale M = cv2.getRotationMatrix2D((cols/2, rows/2), 30, 1) #参数:原始图像 旋转参数 元素图像宽高 rotated = cv2.warpAffine(src, M, (cols, rows))  #显示图像 cv2.imshow("src", src) cv2.imshow("rotated", rotated)  #等待显示 cv2.waitKey(0) cv2.destroyAllWindows()
  输出结果如下图所示:
  如果设置-90度,则核心代码和图像如下所示。 M = cv2.getRotationMatrix2D(  (cols/2, rows/2), -90, 1)  rotated = cv2.warpAffine(  src, M, (cols, rows))
  三.图像翻转
  图像翻转在OpenCV中调用函数flip()实现,原型如下: dst = cv2.flip(src, flipCode)
  其中src表示原始图像,flipCode表示翻转方向,如果flipCode为0,则以X轴为对称轴翻转,如果fliipCode>0则以Y轴为对称轴翻转,如果flipCode<0则在X轴、Y轴同时翻转。
  代码如下所示: #encoding:utf-8 import cv2   import numpy as np import matplotlib.pyplot as plt   #读取图片 img = cv2.imread("test.jpg") src = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)  #图像翻转 #0以X轴为对称轴翻转 >0以Y轴为对称轴翻转 <0X轴Y轴翻转 img1 = cv2.flip(src, 0) img2 = cv2.flip(src, 1) img3 = cv2.flip(src, -1)  #显示图形 titles = ["Source", "Image1", "Image2", "Image3"]   images = [src, img1, img2, img3]   for i in range(4):      plt.subplot(2,2,i+1), plt.imshow(images[i], "gray")      plt.title(titles[i])      plt.xticks([]),plt.yticks([])   plt.show()
  输出结果如下图所示:
  四.图像平移
  图像平移:设(x0, y0)是缩放后的坐标,(x, y)是缩放前的坐标,dx、dy为偏移量,则公式如下:
  图像平移首先定义平移矩阵M,再调用warpAffine()函数实现平移,核心函数如下: M = np.float32([[1, 0, x], [0, 1, y]]) shifted = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))
  完整代码如下所示: #encoding:utf-8 import cv2   import numpy as np import matplotlib.pyplot as plt   #读取图片 img = cv2.imread("test.jpg") image = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)  #图像平移 下、上、右、左平移 M = np.float32([[1, 0, 0], [0, 1, 100]]) img1 = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))  M = np.float32([[1, 0, 0], [0, 1, -100]]) img2 = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))  M = np.float32([[1, 0, 100], [0, 1, 0]]) img3 = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))  M = np.float32([[1, 0, -100], [0, 1, 0]]) img4 = cv2.warpAffine(image, M, (image.shape[1], image.shape[0]))  #显示图形 titles = [ "Image1", "Image2", "Image3", "Image4"]   images = [img1, img2, img3, img4]   for i in range(4):      plt.subplot(2,2,i+1), plt.imshow(images[i], "gray")      plt.title(titles[i])      plt.xticks([]),plt.yticks([])   plt.show()
  输出结果如下图所示:
  五.总结
  本文主要讲解Python和OpenCV的图像基础处理,具体内容包括:  一.图像缩放  二.图像旋转  三.图像翻转  四.图像平移
  回想2018年当时写这篇文章的感言,不错!
  三尺讲台,三寸舌,
  三千桃李,三杆笔。
  再累再苦,站在讲台前就是最美的自己,几个月的烦恼和忧愁都已消失,真的好享受这种状态,仿佛散着光芒,终于给低年级的同学上课了越早培养编程兴趣越好,恨不能倾囊相授。即使当一辈子的教书匠,平平淡淡也喜欢,而且总感觉给学生讲课远不是课酬和职称所能比拟,这就是所谓的事业,所谓的爱好。
  源代码下载地址,记得帮忙点star和关注喔!  https://github.com/eastmountyxz/  ImageProcessing-Python
  2020年8月18新开的"娜璋AI安全之家",主要围绕Python大数据分析、网络空间安全、人工智能、Web渗透及攻防技术进行讲解,同时分享CCF、SCI、南核北核论文的算法实现。娜璋之家会更加系统,并重构作者的所有文章,从零讲解Python和安全,写了近十年文章,真心想把自己所学所感所做分享出来,还请各位多多指教,真诚邀请您的关注!谢谢。
  (By:Eastmount 2021-03-16 夜于武汉 )
  参考文献,在此感谢这些大佬,共勉!  [1] 冈萨雷斯. 数字图像处理(第3版)[M]. 电子工业出版社, 2013. [2] 毛星云, 冷雪飞. OpenCV3编程入门[M]. 电子工业出版社, 2015. [3] https://blog.csdn.net/Eastmount
  你以为你有很多路可以选择,其实你只有一条路可以走

刻石求道海上印象名家篆刻小品展启幕图说海上印象名家篆刻小品展启幕来源采访对象供图(下同)新民晚报讯(记者杨玉红)海上印象名家篆刻小品展在豫园华宝楼物华厅日前拉开帷幕,展出了吴昌硕王个簃刘江高式熊韩天衡等大师的近70体验中华传统文化台湾青少年到益开展研学活动两岸青少年参加茶香溢四海共话两岸情湘台茶香会台湾青少年体验活动并合影留念。(中国台湾网发)中国台湾网8月29日讯26日至28日,30名来自湖南中医药大学宁波大学大连理工大学浙江传媒安徽南陵两人遭雷击意外身亡,当地称事发位置系综合性广场8月26日,安徽芜湖市南陵县籍山镇南陵广场突发雷击伤人意外事件,南陵县应急管理局27日发布通报称4名跳广场舞群众被雷电击中。有网友发现,不久后通报的内容被修改为4名正在健身运动的群稀土板块迎历史性机遇?基金经理进场!回暖近四成,估值仍在10年低位,能飞多高?稀土是中国资源方面少有的具有得天独厚优势的元素,稀土产业也是中国少有的具有绝对垄断优势和绝对领先优势的一个行业,拥有4个世界第一储量世界第一产量世界第一进出口量世界第一消费量世界第广东或签211厘米大外援,还是詹姆斯队友,杜锋要带队卷土重来广东或签211厘米大外援,还是詹姆斯队友,杜锋要带队卷土重来广东男篮一共注册了19名本土球员,外援方面目前只有马尚具有优先续约权,马尚是否会回归广东男篮,存在两种说法,一种说法,广上半年又亏损2500万!这家基金公司怎么了?连续两年半亏损管理规模停滞不前随着上市公司半年报集中放榜,基金公司上半年的经营状况也陆续浮出水面。几家欢喜几家愁。就半年报披露的情况来看,并非每家公募机构都业绩丰收。今年上半年,江信基金的总收入就跌破了1000潞安化工领导深入新元公司调研8月30日,潞安化工集团党委副书记总经理马军祥到新元公司调研,全面了解各项工作进展情况当前面临的挡手问题,并就下一步工作提出具体要求。马军祥详细查看了新元公司工业区布置图,39煤总腾讯大手笔增资三星财险互联网巨头持续渗透保险领域本报记者郭婧婷北京报道随着腾讯增资计划获批,三星财险身份摇身一变,由外国独资变为中外合资的财险公司。近日,上海银保监局批复同意三星财产保险(中国)有限公司的增资计划。根据批复,三星银行背景高管或扛起持牌消金下半场风控大旗中邮消金净利下降75。85中概股互金公司进入瓶颈期丨消费金融参考21世纪资管研究员吴霜,实习生李欣桐综合整理监管与行业政策1。中国银保监会湖南监管局办公室关于2022年上半年银行业保险业落实金融纾困政策有关情况的通报2022年以来,湖南银行业保辛巴辛有志顶流主播地标产品IP升级助农直播全球首发近年来,直播电商发展势头迅猛,无数消费者在各大直播间里享受到了更便利的购物生活。同时,随着消费者参与直播购物的次数增多,对产品质量的要求也逐渐提高。在此背景下,头部直播电商企业辛选甘肃省丁忠家庭被评为全国最美家庭我省丁忠家庭被评为全国最美家庭每日甘肃网9月2日讯据兰州晚报报道近日,甘肃省纪委监委第六监督检查室二级调研员丁忠同志家庭被全国妇联推选为2022年全国最美家庭。丁忠家庭情系老兵,热
本人想买一辆价格在67万左右的SUV,长城吉利还是长安,紧凑型就可以,哪个好?六七万的车的话,一定要看他的口碑以及销量。首先排除的就是长安。长安在这个级别这个价位做的车型的话是非常的粗制滥造的。并且偷工减料非常严重,如果说你喜欢SUV车型的话,建议你考虑以下负债20万,严重抑郁症焦虑症,有自杀的念头,怎么办,该如何继续下去?才二十万,我以前也是和朋友合伙开公司,做传统行业欠了一百多万,当我踏入互联网这个行业以后,发现赚钱也不是很难,一年赚几十万也是很轻松的,现在已经快还清债务了,不需要投资,只需要投入得了相思病怎么办?漫长人生岁月里,每一个人都希望,有一个人思念自己,自己也思念那个人的爱情,但是,题主得了相思病!因为提问不详细?是相思一个单身还是一个有家有室的人,这是二个回答问题的标准,那么?作人民日报罕见盛赞孙颖莎一人,仅仅是因为她在世界杯夺冠吗?莎莎夺冠之后淡定从容,宠辱不惊,有胜不骄败不馁的大将风度。特别是胜利之后对方是自己的队友,这样的表现也体现了对队友的尊重。如果赢了就大喊大叫倒地狂呼,可以想想对方心里肯定不好受的,摄影爱好者,你挑器材的时候,着重考虑什么,是什么说了算?做为摄影爱好者,挑选器材的时候,更多的是考虑银子,然后才是需求,最终是性价比说了算。我是这样认为的,当然,我也有为了真心喜欢的镜头,宁愿以泡面度日,也要先收入囊中的经历。这种经历真牛蒡茶可以天天喝吗?牛蒡茶可以天天喝吗?临床中不主张天天喝牛蒡茶。牛蒡是一种药,因此需要根据患者的症状表现和体质,在医师的指导下决定饮用周期。牛蒡茶是以中草药牛蒡根为原料的纯天然茶品。传统医学认为,牛该怎么喝红茶?像绿茶一样直接冲泡吗?红茶属于全发酵茶,茶汤红亮,口感醇和甘甜,苦涩低,尤其是香气浓郁高扬,香型有兰花香栀子花香金银花香玉兰花香等,让人沉醉。因此,红茶受到越来越多人的喜爱。当前,人们喝茶常见的有三种方办个退休还有人刁难你,怎么办?现今的企业到龄退休人员按国家社保法制度执行巳有近30年的时间,事编单位执行也有7年的时间,凡到龄退休的老同志只要满足社保的相关退休政策,基本都能兴高采烈地圆满由单位劳人部门负责办理学习很好,且父母都是教师,为什么还在外边报语数英辅导班?父母都是教师的家庭,孩子成绩很好,肯定离不开父母的悉心辅导。可是仍然送到培训机构去辅导语数英,不外乎有以下原因。其一期望值高。知识分子家庭对孩子的教育要求很高,送到培训机构去补习语室外人像拍摄,你会去哪些地方取景?首先根据本地的拍摄景点决定,同时还要根据你拍摄的题材以及服装情况最后来决定的。每个城市都有公园和其它景点,不同的景点就有不同题材的拍摄方式。如果你今天拍摄古装或者汉服,那当然最好选在药店购买的助听器为什么总是有噪音呢?你好,在药店买的助听器为什么总是有噪音呢?相对来说药店直接购买的助听器,功能都比较简单,基本都是模拟机,也没有按佩戴者的实际听力损失来调试补偿,可能不适合,聆听效果就难保证,所以应