



下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第opencv實現(xiàn)文檔矯正本文實例為大家分享了opencv實現(xiàn)文檔矯正的具體代碼,供大家參考,具體內(nèi)容如下
原始文檔
矯正后文檔
只要獲得傾斜文檔的傾斜角度,然后通過仿射變化旋轉一下就可以實現(xiàn)矯正了,這里獲取傾斜角度的方法有兩個,下面分別介紹
1、利用霍夫變換,文檔內(nèi)容都是平行的,首先利用利用霍夫變換檢測直線,然后將所有直線的平均傾斜角度當做文檔的傾斜角度,最后再進行仿射變換就可以了。
importcv2
importnumpyasnp
defimshow(img):
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img=cv2.imread("2.png",1)
img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img2=img.copy()
img_canny=cv2.Canny(img,75,200)
img_line=cv2.HoughLines(img_canny,1,np.pi/180,280)
average=0
forlineinimg_line:
forrho,thetainline:
average=average+theta
average=average/len(img_line)
angel=average/np.pi*180-90
defrotateImg(img,angel):
rows,cols=img.shape
M=cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),angel,1)
#旋轉中心x,旋轉中心y,旋轉角度,縮放因子
img=cv2.warpAffine(img,M,(cols,rows),borderValue=(255,255,255))
#在內(nèi)存里完成了旋轉
imshow(img)
rotateImg(img2,angle)
2、求文檔內(nèi)容的最小包圍矩形。首先檢測輪廓,利用形態(tài)學操作求mask,然后再檢測輪廓,求最下包圍矩形,最小包圍矩形會返回一個傾斜角度(度數(shù),霍夫變換的傾斜角度是弧度制),可以對輪廓進行篩選,將面積最大的輪廓的傾斜角度作為文檔的傾斜角度,然后做仿射變換。
importcv2
importnumpyasnp
defimshow(img):
cv2.imshow("img",img)
cv2.waitKey(0)
cv2.destroyAllWindows()
img=cv2.imread("2.png",1)
img=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
img2=img.copy()
imgth=cv2.threshold(img,0,255,cv2.THRESH_OTSU|cv2.THRESH_BINARY_INV)[1]
kernel=np.ones((17,17))
img_open=cv2.morphologyEx(imgth,cv2.MORPH_CLOSE,kernel,10)
#imshow(img_open)
cons=cv2.findContours(img_open,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE)[0]
areas=[]
forconincons:
area=cv2.contourArea(con)
areas.append(area)
index=areas.index(max(areas))
#度數(shù)形式,霍夫變換的返回值是弧度制
rect=cv2.minAreaRect(cons[index])
angle=rect[2]
mat=cv2.getRotationMatrix2D((img.shape[1]/2,img.shape[0]/2),angle,1)
img_fin=cv2.warpAffine(img,mat,(img.shape[1],img.shape[0]),borderValue=(255,255,255))
imshow(img_fin)
利用仿射變換實現(xiàn)圖像旋轉指定度數(shù)
mat=cv2.getRotationMatrix2D(center,angle,c)(center:旋轉中心,angle:旋轉角度,c:縮放大小)
img_final=cv2.warpAffine(img,mat,(img.shape[1],img.shape[0]),borderValue=(255,255,255))(borderValue為可選參數(shù),填充色,默認為黑色)
另外旋轉指定90,180,270可以使用transpose、flip來實現(xiàn)
旋轉90度(順時針)
img=cv2.transpose(img)
res_img
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030按摩霜行業(yè)風險投資態(tài)勢及投融資策略指引報告
- 2025至2030家居建材發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030學生文具行業(yè)市場發(fā)展現(xiàn)狀及并購重組策略與投融資報告
- 數(shù)字孿生在城市歷史文化名城保護中的應用研究報告
- 2024年廣東省深圳百合外國語學校七上數(shù)學期末檢測模擬試題含解析
- 2024-2025學年江蘇省無錫市丁蜀區(qū)七上數(shù)學期末預測試題含解析
- 2024-2025學年湖北省武漢江漢區(qū)四校聯(lián)考數(shù)學七上期末質量檢測模擬試題含解析
- 嵩山少林武術職業(yè)學院《古典小說鑒賞》2023-2024學年第一學期期末試卷
- 大連裝備制造職業(yè)技術學院《營銷理論前沿專題》2023-2024學年第一學期期末試卷
- 電子基礎試題及答案
- 2025年中小學暑假安全教育主題家長會 課件
- 《人工智能對招聘的影響研究6000字(論文)》
- GB/T 39866-2021建筑門窗附框技術要求
- GB/T 3836.2-2021爆炸性環(huán)境第2部分:由隔爆外殼“d”保護的設備
- 關節(jié)脫位患者的護理-關節(jié)脫位患者的護理(外科護理ppt)
- 產(chǎn)品合格證模板-合格證模板樣本
- 水泵試運行調試記錄
- 半導體中載流子的統(tǒng)計分布和計算
- 組織部處級干部培訓審計財經(jīng)紀律課件
- 史上最全最權威婦產(chǎn)科icd編碼培訓【版】課件
- 心血管診治與搶救標準操作規(guī)程(SOP)
評論
0/150
提交評論