中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

蘭州做網(wǎng)站公司百度app安裝

蘭州做網(wǎng)站公司,百度app安裝,大淘客聯(lián)盟做網(wǎng)站,中山建網(wǎng)站多少錢目錄 前言 一、三個函數(shù) 1.顯示圖像 2.點排序 3.透視變換 二、代碼實例 1.打開攝像頭 2.圖像預處理 3.檢測特定輪廓 4.對輪廓進行處理 5.釋放資源 前言 攝像頭OCR指的是利用攝像頭捕捉圖像中的文字信息,并通過光學字符識別(OCR)技…

目錄

前言

一、三個函數(shù)

1.顯示圖像

2.點排序

3.透視變換

二、代碼實例

1.打開攝像頭

2.圖像預處理

3.檢測特定輪廓

4.對輪廓進行處理

5.釋放資源


前言

????????攝像頭OCR指的是利用攝像頭捕捉圖像中的文字信息,并通過光學字符識別(OCR)技術將其轉換為可編輯的文本。

?

一、三個函數(shù)

1.顯示圖像

def cv_show(name, img):cv2.imshow(name, img)cv2.waitKey(60)

?

2.點排序

接收傳入的坐標(為輪廓的四個頂點),

  1. 對每一行進行求和,
    1. 最小值是該輪廓的左上角,
    2. 最大值是右下角,
  2. 對每一行進行求差,
    1. 最小的是右上角,
    2. 最大的是右下角,
  3. 按照左上,右上,右下,左下的順序填入rect矩陣
def order_points(pts):# 共4個坐標點rect = np.zeros((4, 2), dtype="float32")  # 用來存儲排序之后的坐標位置# 按順序找到對應坐標 0 1 2 3 分別是左上,右上,右下,左下s = pts.sum(axis=1)  # 對pts矩陣的每一行進行求和操作。 (x+y)rect[0] = pts[np.argmin(s)]rect[2] = pts[np.argmax(s)]diff = np.diff(pts, axis=1)  # 對pts矩陣的每一行進行求差操作。(y-x)rect[1] = pts[np.argmin(diff)]rect[3] = pts[np.argmax(diff)]return rect

?

3.透視變換

  1. 獲取排序之后的點坐標
  2. 計算該輪廓的寬和高的較大值,當做變換之后的圖像寬高
  3. 通過cv2.getPerspectiveTransform方法計算透視變換矩陣
  4. 再通過cv2.warpPerspective方法獲取透視變換之后的圖像
def four_point_transform(image, pts):# 獲取輸入坐標點rect = order_points(pts)(tl, tr, br, bl) = rect# 計算輸入的w和h的值  歐式距離公式widthA = np.sqrt(((br[0] - bl[0]) ** 2) + ((br[1] - bl[1]) ** 2))widthB = np.sqrt(((tr[0] - tl[0]) ** 2) + ((tr[1] - tl[1]) ** 2))maxWidth = max(int(widthA), int(widthB))heightA = np.sqrt(((tr[0] - br[0]) ** 2) + ((tr[1] - br[1]) ** 2))heightB = np.sqrt(((tl[0] - bl[0]) ** 2) + ((tl[1] - bl[1]) ** 2))maxHeight = max(int(heightA), int(heightB))# 變換后對應坐標位置dst = np.array([[0, 0], [maxWidth - 1, 0],[maxWidth - 1, maxHeight - 1], [0, maxHeight - 1]], dtype="float32")# 計算透視變換矩陣M = cv2.getPerspectiveTransform(rect, dst)# 應用透視變換warped = cv2.warpPerspective(image, M, (maxWidth, maxHeight))  # 返回變換后結果return warped

?

二、代碼實例

1.打開攝像頭

  • 參數(shù)為0 則用電腦自帶攝像頭
  • 參數(shù)為1 則用外接攝像頭
  • 若攝像頭未被打開則輸出Cannot open camera
cap = cv2.VideoCapture(0)  # 確保攝像頭是可以啟動的狀態(tài)  電腦自帶攝像頭用0 外接的用1
if not cap.isOpened():print("Cannot open camera")exit()

?

2.圖像預處理

  1. 打開攝像頭之后,讀取每一幀的畫面并顯示
  2. 轉換成灰度圖,進行高斯濾波處理,
  3. 然后使用Canny算子進行邊緣檢測并顯示,
  4. 再對邊緣檢測之后的圖像進行輪廓檢測,
  5. 只取輪廓大小前十的輪廓將其畫出來,并顯示
while True:flag = 0  # 標識符 當前是否檢測到文檔ret, image = cap.read()orig = image.copy()if not ret:print('不能讀取攝像頭')breakcv_show('image', image)gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)gray = cv2.GaussianBlur(gray, (5, 5), 0)edged = cv2.Canny(gray, 75, 200)cv_show('1', edged)cnts = cv2.findContours(edged.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)[1]cnts = sorted(cnts, key=cv2.contourArea, reverse=True)[:10]image_contours = cv2.drawContours(image, cnts, -1, (0, 255, 0), 2)cv_show('image_contours', image_contours)

輸出:

?

3.檢測特定輪廓

  1. 遍歷上述獲取的輪廓?
  2. 對輪廓進行近似處理,并獲取其特征點集
  3. 判斷輪廓面積大于20000 并且特征點集只有4個
    for c in cnts:peri = cv2.arcLength(c, True)  # 計算輪廓的周長# True表示是否選擇封閉輪廓approx = cv2.approxPolyDP(c, 0.05 * peri, True)  # 返回輪廓點集area = cv2.contourArea(approx)if area > 20000 and len(approx) == 4:screenCnt = approxflag = 1print(peri, area)print('檢測到文檔')break

?

4.對輪廓進行處理

  1. 如果在畫面中獲取到了符合條件的輪廓
  2. 就在原圖上畫出該輪廓
  3. 并將該輪廓圖像進行透視變換并顯示
  4. 最后對其進行二值化處理并顯示
    if flag == 1:image_contours = cv2.drawContours(image, [screenCnt], 0, (0, 255, 0), 2)cv_show('image', image_contours)warped = four_point_transform(orig, screenCnt.reshape(4, 2))cv_show('warped', warped)warped = cv2.cvtColor(warped, cv2.COLOR_BGR2GRAY)ref = cv2.threshold(warped, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]cv2.imshow('ref', ref)cv2.waitKey(0)
輸出:

?

5.釋放資源

  • 最后循環(huán)結束之后記得釋放資源
cap.release()  # 釋放捕獲器
cv2.destroyAllWindows()  # 關閉圖像窗口
http://www.risenshineclean.com/news/64208.html

相關文章:

  • admin網(wǎng)站管理系統(tǒng)怎么做新聞今日頭條最新消息
  • .net建設網(wǎng)站步驟詳解媒介
  • 網(wǎng)站被墻 怎么做301蘇州seo網(wǎng)絡推廣
  • 有什么網(wǎng)站做懸賞的 能掙錢黃岡網(wǎng)站建設收費
  • 企業(yè)網(wǎng)站的設計策劃廣西網(wǎng)站seo
  • 怎么在windows做網(wǎng)站百度營銷
  • 深圳網(wǎng)站建設 套餐seo優(yōu)化排名易下拉軟件
  • 蘭州微網(wǎng)站滄州網(wǎng)站優(yōu)化
  • 互聯(lián)網(wǎng)公司排名100太原百度快速優(yōu)化排名
  • 用adsl做網(wǎng)站備案網(wǎng)站一年了百度不收錄
  • 四六級查成績網(wǎng)站怎么做百度最貴關鍵詞排名
  • 公司微網(wǎng)站建設方案網(wǎng)絡營銷的基本流程
  • 農行網(wǎng)站不出動畫怎么做電腦培訓學校排名
  • 怎么攻擊php做的網(wǎng)站嗎如何建立自己的網(wǎng)絡銷售
  • 臨沂哪家做網(wǎng)站最好seo關鍵詞優(yōu)化報價
  • 巴中哪里做網(wǎng)站杭州優(yōu)化公司多少錢
  • 網(wǎng)站國外空間站長工具中文精品
  • 網(wǎng)站推廣預期達到的目標泰安網(wǎng)絡推廣培訓
  • 萬網(wǎng)域名注冊網(wǎng)站網(wǎng)頁制作模板的網(wǎng)站
  • 商城網(wǎng)站開發(fā)視頻東莞網(wǎng)站建設排名
  • 怎么做網(wǎng)站地圖的樣式惡意點擊軟件有哪些
  • 購物網(wǎng)站開發(fā)的描述幽默軟文廣告經典案例
  • 昆明seo網(wǎng)站建設濟寧百度競價推廣
  • 公關公司屬于什么行業(yè)北京網(wǎng)站seo設計
  • 建網(wǎng)站用什么發(fā)票創(chuàng)建軟件平臺該怎么做
  • pc網(wǎng)站建設需要提供哪些資料愛客crm
  • wordpress建站過程線上推廣的渠道有哪些
  • 十堰網(wǎng)站設計公司成都網(wǎng)多多
  • 新余網(wǎng)站制作關鍵詞seo優(yōu)化排名公司
  • 代理網(wǎng)頁游戲要多少錢福州seo網(wǎng)站管理