1
A
回答
2
可以變換從笛卡爾圖像座標系極座標系爲OCR程序準備圓形路徑文本圖像。此功能logPolar()
可以提供幫助。
這裏有一些步驟來準備大圓路徑文字圖片:
- 使用
HoughCircles()
找到圈的中心。 - 獲取平均值並做一些抵消,所以得到中心。
- (Optinal)從中心裁剪圖像的正方形。
- 執行
logPolar()
,然後根據需要旋轉它。
的croped圖像:
後logPolar()
和rotate()
我Python3-OpenCV3.3
代碼這裏提出,也許有幫助。
#!/usr/bin/python3
# 2017.10.10 12:44:37 CST
# 2017.10.10 14:08:57 CST
import cv2
import numpy as np
##(1) Read and resize the original image(too big)
img = cv2.imread("circle.png")
img = cv2.resize(img, (W//4, H//4))
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
## (2) Detect circles
circles = cv2.HoughCircles(gray, method=cv2.HOUGH_GRADIENT, dp=1, minDist=3, circles=None, param1=200, param2=100, minRadius = 200, maxRadius=0)
## make canvas
canvas = img.copy()
## (3) Get the mean of centers and do offset
circles = np.int0(np.array(circles))
x,y,r = 0,0,0
for ptx,pty, radius in circles[0]:
cv2.circle(canvas, (ptx,pty), radius, (0,255,0), 1, 16)
x += ptx
y += pty
r += radius
cnt = len(circles[0])
x = x//cnt
y = y//cnt
r = r//cnt
x+=5
y-=7
## (4) Draw the labels in red
for r in range(100, r, 20):
cv2.circle(canvas, (x,y), r, (0, 0, 255), 3, cv2.LINE_AA)
cv2.circle(canvas, (x,y), 3, (0,0,255), -1)
## (5) Crop the image
dr = r + 20
croped = img[y-dr:y+dr+1, x-dr:x+dr+1].copy()
## (6) logPolar and rotate
polar = cv2.logPolar(croped, (dr,dr),80, cv2.WARP_FILL_OUTLIERS)
rotated = cv2.rotate(polar, cv2.ROTATE_90_COUNTERCLOCKWISE)
## (7) Display the result
cv2.imshow("Canvas", canvas)
cv2.imshow("croped", croped)
cv2.imshow("polar", polar)
cv2.imshow("rotated", rotated)
cv2.waitKey();cv2.destroyAllWindows()
相關問題
- 1. 準備用於OCR的複雜圖像
- 2. 圖像路徑文本框
- 3. 刪除圖像背景(ID卡)併爲OCR做好準備
- 4. Selenium循環通過Ocr過程,直到Captcha圖像文本解決
- 5. OCR:圖像到文本?
- 6. 循環準備statments
- 7. 運行腳本時for循環準備
- 8. 爲iPhone應用程序創建循環路徑
- 9. JQuery準備無限循環
- 10. 根據縮略圖從路徑中循環顯示圖像
- 11. 如何獲得svg的循環路徑?
- 12. 如何鏈接到循環內部的嵌套路徑路徑?
- 13. 圖最短路徑無限循環
- 14. 動態圖像路徑不上設備
- 15. 從圖像中提取文本。 OCR
- 16. 如何將文本轉換爲路徑?
- 17. 與jquery循環的圖像周圍的圓路徑
- 18. 循環通過路徑列表保存在文本文件
- 19. 如何在asp.net中爲java腳本提供圖像路徑mvc
- 20. 如何在應用程序配置文件中設置圖像文件路徑?
- 21. 圖像路徑文件夾
- 22. 圖像的文件路徑
- 23. 如何在應用程序設置中存儲圖像路徑?
- 24. 如何在我的應用程序中保存圖像(路徑)?
- 25. 如何在eclipse rcp應用程序中獲取圖像路徑
- 26. CAEmitterLayer - kCAEmitterLayerCircle,循環路徑?
- 27. Cocos2d - 拖動圖像時遵循路徑
- 28. 如何計算定向非循環圖的關鍵路徑?
- 29. 如何獲得圖中最短的循環路徑?
- 30. 如何在Android中使用OCR從圖像中讀取文本
也許你可以旋轉圖像並一次讀一點點? – theGleep