电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

利用Python將圖片中扭曲矩形的復(fù)原

瀏覽:3日期:2022-07-12 09:15:46

前言

日常生活中,手殘黨們經(jīng)常會(huì)把一些照片拍歪,比如拍個(gè)證件、試卷、PPT什么的,

比如下面這本書的封面原本是個(gè)矩形,隨手一拍就成了不規(guī)則四邊形

想要把它變成規(guī)則的矩形,有什么辦法呢?

利用Python將圖片中扭曲矩形的復(fù)原

你一定想到了 PS,因?yàn)榫W(wǎng)上很多教程就是這么教的

打開PS ⟹Longrightarrow⟹ 濾鏡 ⟹Longrightarrow⟹鏡頭校正 ⟹Longrightarrow⟹自定 ⟹Longrightarrow⟹變換

可是這樣手工的調(diào)整數(shù)值實(shí)在是費(fèi)勁喲!!

利用Python將圖片中扭曲矩形的復(fù)原

下面我們來(lái)寫個(gè)程序,自動(dòng)將圖片恢復(fù)到任意矩形!

程序?qū)崿F(xiàn)

1. 打開圖片并顯示

import cv2 as cvimport numpy as nppath = ’./book.jpg’src = cv.imread(path)def get_window_size(src, bound=600): h,w = src.shape[0], src.shape[1] if h > w: h, w = bound, int(w*bound/h) else: h, w = int(h*bound/w), bound return (h, w)h, w = get_window_size(src)win_name = ’RecAdjust’cv.namedWindow(win_name, cv.WINDOW_NORMAL)cv.resizeWindow(win_name, width=w, height=h)cv.imshow(win_name, src)cv.waitKey(0)cv.destroyAllWindows()

2. 在圖片中標(biāo)記四個(gè)角點(diǎn)

利用Python將圖片中扭曲矩形的復(fù)原

src_copy = src.copy()class Indexer: def __init__(self, bound=4): self.id = 0 self.bound=bound def get_id(self): self.id = (self.id+1)%self.bound return (self.id-1)%self.bound+1def on_EVENT_LBUTTONDOWN(event, x, y, flags, param): if event == cv.EVENT_LBUTTONDOWN: img = param[’src’] win_name = param[’window’] indexer = param[’indexer’] points = param[’points’] curr_id = indexer.get_id() points.append((x,y)) print(’第{}個(gè)頂點(diǎn): ({},{})’.format(curr_id, x, y)) cv.circle(img, (x, y), 10, (0, 0, 255), thickness = 2) cv.putText( img, str(curr_id), # 文字 (x, y), # 坐標(biāo) cv.FONT_HERSHEY_PLAIN, 5, # 字號(hào) (0,0,255), # 字體顏色 thickness = 2 # 粗細(xì) ) cv.imshow(win_name, img)points = []indexer = Indexer()win_name = ’RecAdjust’cv.namedWindow(win_name, cv.WINDOW_NORMAL)cv.resizeWindow(win_name, width=w, height=h)cv.imshow(win_name, src)cv.setMouseCallback(win_name, on_EVENT_LBUTTONDOWN, param={’src’:src,’window’:win_name, ’indexer’:indexer, ’points’:points})cv.waitKey(0)cv.destroyAllWindows()print(points)

3. 設(shè)定輸出矩形大小

# W = int(input(’輸出圖片寬度:’))# H = int(input(’輸出圖片高度:’))W,H = 600, 800target_points = [(0,0),(W,0),(W,H),(0,H)]

4. 求解透視變換矩陣

points, target_points = np.array(points, dtype=np.float32), np.array(target_points, dtype=np.float32)M = cv.getPerspectiveTransform(points, target_points)print(’透視變換矩陣:’,M)

5. 透視變換并保存圖片

result = cv.warpPerspective(src_copy, M, (0, 0))result = result[:H, :W]win_name = ’Result’cv.namedWindow(win_name, cv.WINDOW_NORMAL)cv.resizeWindow(win_name, width=W, height=H)cv.imshow(win_name, result)cv.waitKey(0)cv.destroyAllWindows()output_file = ’result.jpg’cv.imwrite(output_file, result)

結(jié)果如下

利用Python將圖片中扭曲矩形的復(fù)原

結(jié)果沒(méi)有想象的完美,是因?yàn)闀姆饷嬉呀?jīng)不是一個(gè)平面了,書角翹起。。。

如果圖片中的矩形在一個(gè)平面上的話,效果還是挺不錯(cuò)的!!

利用Python將圖片中扭曲矩形的復(fù)原

完整代碼下載

可關(guān)注后免費(fèi)下載喔:https://download.csdn.net/download/itnerd/12819535(本地下載)

總結(jié)

到此這篇關(guān)于利用Python將圖片中扭曲矩形復(fù)原的文章就介紹到這了,更多相關(guān)Python圖片扭曲矩形復(fù)原內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 篷房[仓储-婚庆-展览-活动]生产厂家-江苏正德装配式帐篷有限公司 | 仿真茅草_人造茅草瓦价格_仿真茅草厂家_仿真茅草供应-深圳市科佰工贸有限公司 | 气力输送设备_料封泵_仓泵_散装机_气化板_压力释放阀-河南锐驰机械设备有限公司 | 分光色差仪,测色仪,反透射灯箱,爱色丽分光光度仪,美能达色差仪维修_苏州欣美和仪器有限公司 | 搪瓷搅拌器,搪玻璃搅拌器,搪玻璃冷凝器_厂家-淄博越宏化工设备 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 净化车间_洁净厂房_净化公司_净化厂房_无尘室工程_洁净工程装修|改造|施工-深圳净化公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 西安标准厂房_陕西工业厂房_西咸新区独栋厂房_长信科技产业园官方网站 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 健康管理师报名入口,2025年健康管理师考试时间信息网-网站首页 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 合肥升降机-合肥升降货梯-安徽升降平台「厂家直销」-安徽鼎升自动化科技有限公司 | 自动检重秤-动态称重机-重量分选秤-苏州金钻称重设备系统开发有限公司 | 微波消解仪器_智能微波消解仪报价_高压微波消解仪厂家_那艾 | 北钻固控设备|石油钻采设备-石油固控设备厂家 | 智慧水务|智慧供排水利信息化|水厂软硬件系统-上海敢创 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 冲锋衣滑雪服厂家-冲锋衣定制工厂-滑雪服加工厂-广东睿牛户外(S-GERT) | 玻璃钢格栅盖板|玻璃钢盖板|玻璃钢格栅板|树篦子-长沙川皖玻璃钢制品有限公司 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 动物麻醉机-数显脑立体定位仪-北京易则佳科技有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 冷却塔风机厂家_静音冷却塔风机_冷却塔电机维修更换维修-广东特菱节能空调设备有限公司 | 商标转让-购买商标专业|放心的商标交易网-蜀易标商标网 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 北京企业宣传片拍摄_公司宣传片制作-广告短视频制作_北京宣传片拍摄公司 | 皮带输送机-大倾角皮带输送机-皮带输送机厂家-河南坤威机械 | 我爱古诗词_古诗词名句赏析学习平台| 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 不锈钢复合板|钛复合板|金属复合板|南钢集团安徽金元素复合材料有限公司-官网 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 |