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

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

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

瀏覽:19日期: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久久,三上悠亚国产精品一区二区三区
国产高清一区二区| 91综合久久爱com| 免费在线成人| 国产精品宾馆| 麻豆精品视频在线| 欧美激情 亚洲a∨综合| 国产精品免费精品自在线观看| 日韩av成人高清| 国产日韩一区二区三区在线| 欧美日韩调教| 黄色网一区二区| 成人日韩在线| 亚洲精品国产偷自在线观看| 国产亚洲一级| 亚洲免费观看高清完整版在线观| 日韩在线网址| 日韩精品久久理论片| 国产欧美日韩在线一区二区| 国产精品xxx在线观看| 高清在线一区| 黑丝美女一区二区| 亚洲乱码视频| 国产精品久久久久久久久久齐齐 | 亚洲精一区二区三区| 四虎精品永久免费| 国产精品tv| 成人久久一区| 视频在线在亚洲| 久久精品xxxxx| 精品免费视频| 亚洲天堂黄色| 欧美午夜三级| 四虎4545www国产精品 | 亚洲一区二区三区四区五区午夜| 亚洲三区欧美一区国产二区| 国产精品久久久亚洲一区| 日本一区二区高清不卡| 99久久久久国产精品| 麻豆成人在线| 精品一区二区三区亚洲| 激情91久久| 欧美日韩18| 日韩不卡视频在线观看| 美国三级日本三级久久99| 麻豆91小视频| 99视频精品| 麻豆精品少妇| 国产精品腿扒开做爽爽爽挤奶网站| 国产午夜精品一区在线观看| 欧美成人a交片免费看| 亚洲一区二区三区高清不卡| 欧美黄色一区| 不卡在线一区| 国产精品主播在线观看| 久久久成人网| 国产调教精品| 九一成人免费视频| 国产精品啊啊啊| 亚洲欧美日韩在线观看a三区| 欧美黄色一区| 视频精品一区二区| 成人国产精品| 日本成人在线不卡视频| 久久九九国产| 久久伊人国产| 亚洲精品一二| 亚洲天堂黄色| 美女久久精品| 亚洲一区二区三区无吗| 日韩欧美看国产| 欧美日韩a区| 亚洲综合电影一区二区三区| 精品免费视频| 久久精品99国产精品| 国产色综合网| 日韩精品一区二区三区免费观看| 国产精品久久久久久久久久久久久久久 | 蜜桃一区二区三区| 国产精品v亚洲精品v日韩精品| 香蕉视频成人在线观看| 日本激情一区| 国产精品jk白丝蜜臀av小说| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩欧美综合| 麻豆一区二区三区| 亚洲精品在线a| 欧美亚洲精品在线| 精品亚洲成人| 欧美日本精品| 亚洲欧美日本国产| 香蕉精品视频在线观看| 成人片免费看| 九九久久国产| 国产精品白浆| 91麻豆精品激情在线观看最新 | 99国产精品自拍| 久久国产亚洲| 日韩欧美国产精品综合嫩v| 69精品国产久热在线观看| 亚洲欧洲美洲国产香蕉| 视频一区二区中文字幕| 亚洲精品网址| 婷婷综合五月| 国产一在线精品一区在线观看| 国产一区国产二区国产三区| 国产精品毛片久久久| 日韩精品一区二区三区中文在线 | 国产精品一区二区三区www| 色综合视频一区二区三区日韩| 夜夜嗨一区二区| 国产一区日韩一区| 136国产福利精品导航网址| 播放一区二区| 私拍精品福利视频在线一区| 日韩精品电影| 99精品视频在线| 久久久久国产精品一区三寸| 日韩欧美一区二区三区在线观看| 涩涩av在线| 日韩大片在线| 日本精品影院| 久久久久亚洲| 欧美大黑bbbbbbbbb在线| 亚洲天堂久久| 亚洲一区二区成人| 免费成人在线影院| 亚洲毛片在线免费| 日韩精品成人在线观看| 日韩精品一页| 久久精品xxxxx| 国产精品xxxav免费视频| 免费在线欧美黄色| 久久精品国产久精国产爱| 精品视频一区二区三区四区五区| 麻豆精品在线播放| 麻豆视频在线观看免费网站黄| 欧美极品一区二区三区| 精品视频一区二区三区四区五区| 精品免费在线| 久久久久久久久丰满| 红桃视频国产一区| 亚洲精品国产精品粉嫩| 国产欧美亚洲一区| 色爱综合网欧美| 免费欧美一区| 亚洲ww精品| 精品视频高潮| 久久精品av| 日韩精品一级二级| 日韩不卡在线观看日韩不卡视频| 97se亚洲| 久久精品日韩欧美| 99国产精品一区二区| 香蕉久久久久久久av网站| 日本国产亚洲| 国产黄大片在线观看| 午夜国产一区二区| 日韩黄色av| 日韩1区2区| 99日韩精品| 国产午夜精品一区在线观看| 精品入口麻豆88视频| 亚洲黑丝一区二区| 婷婷成人av| 福利在线免费视频| 日韩一区二区免费看| 日韩精品一二三四| 国产高清精品二区| 久久国产亚洲| 日韩高清不卡一区二区| 国产一区二区三区网| 欧美日韩国产免费观看 | 国产精品色在线网站| 天堂中文av在线资源库| 亚洲一区日本| 久久久久伊人| 日韩视频在线一区二区三区 | 亚洲人成精品久久久| 另类小说一区二区三区| 波多野结衣一区| 国产日本久久| 久久国产精品成人免费观看的软件| 免费一级片91| 国产一区二区三区亚洲| 首页欧美精品中文字幕| 国产精品日本一区二区三区在线| 三上悠亚国产精品一区二区三区| 免费黄网站欧美| 国产在线看片免费视频在线观看| 丝袜a∨在线一区二区三区不卡| 精品国产亚洲一区二区在线观看| 久久大逼视频| sm捆绑调教国产免费网站在线观看| 欧美中文字幕| 成人在线视频免费看| 蜜臀91精品一区二区三区| 老牛影视精品| 91精品美女| 99国产精品视频免费观看一公开| 精品亚洲成人|