日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

利用Python將圖片中扭曲矩形的復原

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

前言

日常生活中,手殘黨們經常會把一些照片拍歪,比如拍個證件、試卷、PPT什么的,

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

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

利用Python將圖片中扭曲矩形的復原

你一定想到了 PS,因為網上很多教程就是這么教的

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

可是這樣手工的調整數值實在是費勁喲!!

利用Python將圖片中扭曲矩形的復原

下面我們來寫個程序,自動將圖片恢復到任意矩形!

程序實現

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. 在圖片中標記四個角點

利用Python將圖片中扭曲矩形的復原

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(’第{}個頂點: ({},{})’.format(curr_id, x, y)) cv.circle(img, (x, y), 10, (0, 0, 255), thickness = 2) cv.putText( img, str(curr_id), # 文字 (x, y), # 坐標 cv.FONT_HERSHEY_PLAIN, 5, # 字號 (0,0,255), # 字體顏色 thickness = 2 # 粗細 ) 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. 設定輸出矩形大小

# 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)

結果如下

利用Python將圖片中扭曲矩形的復原

結果沒有想象的完美,是因為書的封面已經不是一個平面了,書角翹起。。。

如果圖片中的矩形在一個平面上的話,效果還是挺不錯的!!

利用Python將圖片中扭曲矩形的復原

完整代碼下載

可關注后免費下載喔:https://download.csdn.net/download/itnerd/12819535(本地下載)

總結

到此這篇關于利用Python將圖片中扭曲矩形復原的文章就介紹到這了,更多相關Python圖片扭曲矩形復原內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产激情综合| 午夜久久免费观看| 日韩精品欧美| 日韩在线看片| 午夜国产精品视频免费体验区| 99久久99久久精品国产片果冰| 国产视频一区三区| 亚洲影视一区二区三区| 亚洲精品大全| 久久成人高清| 国产精品伦理久久久久久| 久久国产欧美日韩精品| 亚洲免费网址| 国产婷婷精品| 蜜桃传媒麻豆第一区在线观看 | 亚洲精品欧美| 久久香蕉网站| 亚洲免费婷婷| 麻豆精品视频在线观看免费| 国产在线看片免费视频在线观看| 亚洲国产不卡| 日韩有码av| 久久精品国产网站| 99精品视频在线| 日韩欧美激情| 国产成人精品一区二区三区视频 | 麻豆理论在线观看| 国产亚洲一区在线| 国内自拍视频一区二区三区| 三级在线观看一区二区| 国产在线观看91一区二区三区| 偷拍欧美精品| 日韩国产欧美三级| 久久精品一区二区国产| 欧美精品日日操| 日本欧美大码aⅴ在线播放| 国产精品羞羞答答在线观看| 日韩午夜电影| 国产一区二区三区四区五区 | 91精品国产91久久久久久黑人| 婷婷亚洲成人| 亚洲国内精品| 日韩欧美网址| 奇米亚洲欧美| 久久午夜精品| 91精品久久久久久久久久不卡| 国产精品白浆| 欧美综合精品| 国产白浆在线免费观看| 99国产精品视频免费观看一公开 | 麻豆精品在线播放| 国产精品美女午夜爽爽| 日韩在线观看一区二区三区| 91精品久久久久久久久久不卡| 日韩黄色av| 深夜日韩欧美| 亚洲精品福利| 色综合视频一区二区三区日韩| 精品欧美视频| 麻豆精品一区二区综合av| 一本综合精品| 蜜臀av在线播放一区二区三区| 精品亚洲美女网站| 日韩精品诱惑一区?区三区| 国产精品激情| 免费不卡在线视频| 久久亚洲风情| 99国产精品视频免费观看一公开| 精品日韩毛片| 亚洲2区在线| 国产乱码精品一区二区三区四区| 国产精品一区二区三区四区在线观看 | 五月激激激综合网色播| 欧美日韩一区二区国产| 久久精品天堂| 免费不卡中文字幕在线| 亚洲三级在线| 精品国产黄a∨片高清在线| 欧美日韩视频免费观看| 亚洲欧洲一区| 亚洲有吗中文字幕| 国产一精品一av一免费爽爽| 91综合网人人| 最新日韩欧美| 日韩一区中文| 欧美黑人做爰爽爽爽| 国产一区二区三区国产精品| 视频在线不卡免费观看| 亚洲神马久久| 青青草国产成人99久久| 亚洲精品国产嫩草在线观看 | 日韩亚洲国产欧美| 亚欧洲精品视频在线观看| 亚洲免费福利一区| 日韩av在线免费观看不卡| 视频一区日韩精品| 国产精品久久久久毛片大屁完整版| 欧美激情视频一区二区三区免费| 国产精品99久久精品| 亚洲国内欧美| 韩日一区二区| 亚洲韩日在线| 国产探花在线精品一区二区| 国产剧情一区| 午夜久久福利| 国产精品欧美三级在线观看| 精品视频97| 日韩精品成人| 精品亚洲a∨一区二区三区18| 影视先锋久久| 97久久亚洲| 蜜桃视频欧美| 精品国产黄a∨片高清在线| 视频一区二区三区在线| 精品入口麻豆88视频| 人人精品久久| 日韩精品一二区| 欧美日韩免费看片| 人人精品久久| 极品日韩av| 日韩视频二区| 午夜久久99| 色在线视频观看| 99久久夜色精品国产亚洲狼 | 国产一区二区三区不卡av| 国产精品成人自拍| 久久精品国产成人一区二区三区| 成人影视亚洲图片在线| 国产一区二区中文| 亚洲精品观看| 福利精品一区| 免费黄网站欧美| 国产成人精品亚洲线观看| 午夜国产欧美理论在线播放| 日韩不卡一区二区| 欧美天堂视频| 亚洲a级精品| 婷婷综合六月| 亚洲69av| 亚洲香蕉网站| 午夜久久av | 在线亚洲欧美| av高清一区| 国产成年精品| 国产极品模特精品一二| 亚洲精品无吗| 色狠狠一区二区三区| 欧美日韩一区二区三区视频播放| 欧美天堂视频| 四虎884aa成人精品最新| 三上悠亚国产精品一区二区三区 | 日韩中文字幕区一区有砖一区 | 日本不卡中文字幕| 亚洲丝袜啪啪| 国产欧美三级| 日韩欧美国产精品综合嫩v| 黄色精品网站| 日本精品影院| 老牛国产精品一区的观看方式| 欧美日一区二区在线观看| 福利一区在线| 亚洲影院天堂中文av色| 成人美女视频| 日韩和欧美一区二区| 国产免费久久| 免费视频久久| 欧美日韩午夜电影网| 高潮一区二区| 国产精品片aa在线观看| 在线日韩欧美| 欧美在线黄色| 欧美午夜精品一区二区三区电影| 精品中文一区| 久久av免费看| 国产农村妇女精品一二区| 日韩国产一区二区| 国产亚洲精品美女久久| 91精品久久久久久久久久不卡| 久久不卡日韩美女| 日韩视频一区| 免费在线观看不卡| 天堂俺去俺来也www久久婷婷| 久久高清免费观看| 日韩美女国产精品| 久久麻豆精品| 亚洲性色av| 97精品资源在线观看| 久久久久午夜电影| 美女尤物久久精品| 国产欧美日本| 国产99久久| 奇米777国产一区国产二区| 精品美女视频 | 国产欧美综合一区二区三区| 性色一区二区| 精品一区在线| 国产视频亚洲| 日日摸夜夜添夜夜添国产精品| 91麻豆精品| 久久超碰99|