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

當(dāng)前位置: 首頁 > news >正文

網(wǎng)站制作什么樣的字體好看什么是seo推廣

網(wǎng)站制作什么樣的字體好看,什么是seo推廣,濟(jì)寧網(wǎng)站建設(shè)優(yōu)化,賣掛的網(wǎng)站怎么做目錄 一、項(xiàng)目實(shí)施 1、自定義函數(shù) 2、定位模版圖像中的數(shù)字 1)模版圖二值化處理 運(yùn)行結(jié)果: 2)展示所有數(shù)字 運(yùn)行結(jié)果: 3、識別身份證號 1)灰度圖、二值化圖展示 運(yùn)行結(jié)果 2)定位身份證號每一個(gè)數(shù)…

目錄

一、項(xiàng)目實(shí)施

1、自定義函數(shù)

2、定位模版圖像中的數(shù)字

1)模版圖二值化處理

運(yùn)行結(jié)果:

2)展示所有數(shù)字

?運(yùn)行結(jié)果:

3、識別身份證號

1)灰度圖、二值化圖展示

運(yùn)行結(jié)果

2)定位身份證號每一個(gè)數(shù)字

運(yùn)行結(jié)果:

3)取出身份證號每一個(gè)數(shù)字

運(yùn)行結(jié)果:

4)使用模板匹配計(jì)算匹配得分

運(yùn)行結(jié)果:

二、總結(jié)

1、關(guān)于圖像識別

2、在圖像識別任務(wù)中,通常包括以下幾個(gè)步驟:

3、應(yīng)用領(lǐng)域


一、項(xiàng)目實(shí)施

1、自定義函數(shù)

????????用于展示圖像以及獲取輸入的輪廓圖像的排序結(jié)果和邊界信息

def cv_show(name, image):   # 輸入兩個(gè)參數(shù),圖像名和圖像地址即可展示圖像cv2.imshow(name, image)cv2.waitKey(0)import cv2
def sort_contours(cnts ,method='left-to-right'):   # 輸入?yún)?shù)輪廓列表,以及method,默認(rèn)排序方式為由左到右reverse = False  # 布爾值,用于控制排序的方向i = 0if method == 'right-to-left' or method == 'bottom-to-top':  # 判斷排序方式,以此來更改reversereverse=Trueif method == 'top-to-bottom' or method == 'bottom-to-top':i = 1boundingBoxes = [cv2.boundingRect(c) for c in cnts]  # 遍歷每一個(gè)輪廓圖,取出輪廓圖的x、y、w、h,將這些信息存放到空列表中# 將列表輪廓和輪廓信息組合成一個(gè)元組的列表,再通過匿名函數(shù)排序這個(gè)元組列表,排序依據(jù)為輪廓數(shù)據(jù)的第一位x大小,降序方式,返回兩個(gè)元素,一個(gè)是排序后的輪廓列表,一個(gè)是輪廓的邊界框(cnts,boundingBoxes) = zip(*sorted(zip(cnts,boundingBoxes),key=lambda b:b[1][i],reverse=reverse))return cnts,boundingBoxes

2、定位模版圖像中的數(shù)字

????????1)模版圖二值化處理
img = cv2.imread("shuzi.png")   # 導(dǎo)入模版圖像
cv_show('img', img)   # 展示原圖
gray = cv2.imread("shuzi.png", 0)   # 讀取模版圖的灰度圖
ref = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY_INV)[1]  # 對灰度圖進(jìn)行二值化處理,灰度值大于150的將其改變?yōu)?55,小于150的改變?yōu)?
cv_show('ref', ref)   # 展示二值化圖像
? ? ? ? ? ? 運(yùn)行結(jié)果:

????????2)展示所有數(shù)字
# 計(jì)算輪廓: cv2.findContours()數(shù)接受的參數(shù)為二值圖,即黑白的(不是灰度圖)
# cv2.RETR_EXTERNAL 只檢測外輪廓,cv2.CHAIN_APPRO_SIMPLE只保留端點(diǎn)坐標(biāo)
_,refCnts, hierarchy = cv2.findContours(ref.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, refCnts, -1, (0, 255, 0), 2)  # 繪制輪廓
cv_show('img', img)
#
refCnts = sort_contours(refCnts, method='left-to-right')[0]   # 調(diào)用自定義函數(shù),對輪廓圖像進(jìn)行排序,返回排序后圖片以及輪廓的邊界信息(x,y,w,h)
# 保在模板中每個(gè)數(shù)字對應(yīng)的像素值
digits = {}
for (i, c) in enumerate(refCnts):   # 使用函數(shù)enumerate返回可迭代器的索引和其對應(yīng)的值(x, y, w, h) = cv2.boundingRect(c)   # 計(jì)算輪廓的外接矩形,返回矩形的邊界信息roi = ref[y - 2 : y + h + 2, x - 2 : x + w + 2]  # 裁剪出每個(gè)數(shù)字對應(yīng)的圖像roi = cv2.resize(roi, (57, 88))   # 將裁剪出來的圖像進(jìn)行縮放,尺寸變成(57,88)roi = cv2.bitwise_not(roi)  # 對每個(gè)數(shù)字進(jìn)行按位取反運(yùn)算,即灰度值255變成0,0變成255cv_show('roi',roi)   # 展示取反后的圖像digits[i] = roi   # 將每個(gè)輪廓存入字典
cv2.destroyAllWindows()   # 關(guān)閉所有圖像
? ? ? ? ? ? 運(yùn)行結(jié)果:

3、識別身份證號

????????1)灰度圖、二值化圖展示
img = cv2.imread('./shenfen.jpg')
imgg=img.copy()
cv_show('img', img)gray = cv2.imread('./shenfen.jpg', 0)  # 灰度圖
cv_show('gray', gray)ref = cv2.threshold(gray, 120, 255, cv2.THRESH_BINARY_INV)[1]   # 二值化
cv_show('ref', ref)

? ? ? ? ? ? 運(yùn)行結(jié)果

????????2)定位身份證號每一個(gè)數(shù)字
# # 計(jì)算輪廓: cv2.findContours()數(shù)接受的參數(shù)為二值圖,即黑白的(不是灰度圖)
# # CV2.RETR_EXTERNAL 只檢測外輪廓,CV2.CHAIN_APPROX_SIMPLE只保留端點(diǎn)坐標(biāo)
_,refCnts, hierarchy = cv2.findContours(ref.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)  # 識別身份證圖片所有輪廓
a = cv2.drawContours(img.copy(), refCnts, -1, (0, 255, 0), 2)   # 繪制輪廓
cv_show('img', a)
#
# cv2.destroyAllWindows()
#
# # 遍歷輪廓,找到數(shù)字部分像素區(qū)城
locs = []
for (i, c) in enumerate(refCnts):   # 遍歷每一個(gè)輪廓及其對應(yīng)索引(x, y, w, h) = cv2.boundingRect(c)  # 計(jì)算外接矩形邊界信息# 選擇合適的區(qū)域,根據(jù)實(shí)際任務(wù)來if (y > 330 and y < 360) and x > 220:  # 判斷輪廓的坐標(biāo)位置,留下身份證號位置的信息,此處位置信息需要自己結(jié)合原圖像素值進(jìn)行判斷l(xiāng)ocs.append((x, y, w, h))   # 滿足上述條件的為身份證號每一個(gè)數(shù)字的輪廓locs = sorted(locs, key=lambda x: x[0])   # 對身份證號按照x的值進(jìn)行進(jìn)行排序

? ? ? ? ? ? 運(yùn)行結(jié)果:

????????3)取出身份證號每一個(gè)數(shù)字
import numpy as npoutput = []
for (i, (gX, gY, gW, gH)) in enumerate(locs):  # 遍歷每一個(gè)數(shù)字的邊界信息及其對應(yīng)的索引groupOutput = []group = gray[gY - 2 : gY + gH + 2, gX - 2 : gX + gW + 2]  # 對每個(gè)數(shù)字的輪廓適當(dāng)加一點(diǎn)邊界,gray為上述的身份證灰度圖cv_show('group',group)   # 繪制邊界# 預(yù)處理group = cv2.threshold(group, 0, 255, cv2.THRESH_BINARY | cv2.THRESH_OTSU)[1]  # 二值化每個(gè)數(shù)字的輪廓圖cv_show('group',group)roi = cv2.resize(group, (57, 88))   # 對每個(gè)數(shù)字做縮放處理cv_show('roi',roi)
????????運(yùn)行結(jié)果:

????????4)使用模板匹配計(jì)算匹配得分
    scores = []# 在模板中計(jì)算每一個(gè)得分for (digit, digitROI) in digits.items():  # 遍歷每一個(gè)數(shù)字模版及其對應(yīng)的數(shù)值# 模板匹配result = cv2.matchTemplate(roi, digitROI, cv2.TM_CCOEFF)  # 對上述識別出來的身份證號圖與數(shù)字模版進(jìn)行匹配(_, score, _, _) = cv2.minMaxLoc(result)    # # 找到上述模板匹配相關(guān)系數(shù)最大值,只要score,其他返回值忽略scores.append(score)   # 將最大值增加到列表# 得到最合適的數(shù)字groupOutput.append(str(np.argmax(scores)))   # 取出最大值對應(yīng)的數(shù)字存入列表# 繪制每個(gè)數(shù)字的矩形邊框cv2.rectangle(imgg, (gX - 5, gY - 5), (gX + gW + 5, gY + gH + 5), (0, 0, 255), 1)# cv2.putText()是OpenCV庫中的一個(gè)函數(shù),用于在圖像上添加文本。cv2.putText(imgg, "".join(groupOutput), (gX, gY - 15), cv2.FONT_HERSHEY_SIMPLEX, 0.65, (0, 0, 255), 2)output.extend(groupOutput)  # 得到結(jié)果
#
# 打印結(jié)果
print("Card ID #: {}".format("".join(output)))
cv2.imshow("Image", imgg)
cv2.waitKey(0)
cv2.destroyAllWindows()
? ? ? ? ? ? 運(yùn)行結(jié)果:

二、總結(jié)

1、關(guān)于圖像識別

????????圖像識別是計(jì)算機(jī)視覺領(lǐng)域中的一個(gè)重要任務(wù),其目標(biāo)是讓計(jì)算機(jī)能夠理解和解釋圖像中的內(nèi)容以及進(jìn)行自動化的圖像分析和處理。圖像識別技術(shù)可以應(yīng)用于很多領(lǐng)域,例如人臉識別、物體檢測、車牌識別等。

2、在圖像識別任務(wù)中,通常包括以下幾個(gè)步驟:

  1. 數(shù)據(jù)收集:收集大量的帶有標(biāo)注的圖像數(shù)據(jù),用于模型訓(xùn)練和測試。

  2. 數(shù)據(jù)預(yù)處理:對收集到的圖像數(shù)據(jù)進(jìn)行預(yù)處理,例如圖像增強(qiáng)、尺寸調(diào)整、灰度化等。

  3. 特征提取:提取圖像中的特征信息,常用的特征提取方法包括傳統(tǒng)的基于手工設(shè)計(jì)特征的方法和基于深度學(xué)習(xí)的方法。

  4. 模型訓(xùn)練:使用標(biāo)注好的圖像數(shù)據(jù)和提取到的特征信息,訓(xùn)練圖像識別模型,常用的深度學(xué)習(xí)模型包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等。

  5. 模型優(yōu)化:對訓(xùn)練好的模型進(jìn)行優(yōu)化,主要包括模型參數(shù)調(diào)整、超參數(shù)調(diào)整等。

  6. 模型評估:使用測試集進(jìn)行模型評估,評估指標(biāo)包括準(zhǔn)確率、召回率、精確率等。

  7. 預(yù)測和應(yīng)用:使用訓(xùn)練好的模型進(jìn)行圖像識別預(yù)測,并將識別結(jié)果應(yīng)用到實(shí)際場景中。

3、應(yīng)用領(lǐng)域

????????圖像識別技術(shù)的應(yīng)用非常廣泛,例如人臉識別技術(shù)可以應(yīng)用于安全領(lǐng)域、物體檢測技術(shù)可以應(yīng)用于智能交通領(lǐng)域等。隨著深度學(xué)習(xí)等技術(shù)的發(fā)展,圖像識別技術(shù)的準(zhǔn)確性和效果也有了很大的提升。但是,圖像識別任務(wù)仍然面臨著一些挑戰(zhàn)和問題,例如對于復(fù)雜的場景和模糊的圖像可能會有較低的準(zhǔn)確率,對于大規(guī)模數(shù)據(jù)的處理和模型的訓(xùn)練也需要較大的計(jì)算資源和時(shí)間。

http://www.risenshineclean.com/news/7530.html

相關(guān)文章:

  • 讓其他公司做網(wǎng)站應(yīng)注意什么問題桂林seo排名
  • 吉林省建筑市場監(jiān)管公共服務(wù)平臺朝陽seo
  • 外國排版網(wǎng)站網(wǎng)絡(luò)營銷什么意思
  • 網(wǎng)站建設(shè)鏈接演示湖北百度推廣電話
  • 南寧網(wǎng)站建設(shè)seo友鏈交換網(wǎng)站源碼
  • 做模具做什么網(wǎng)站信息流廣告案例
  • 西寧網(wǎng)站建設(shè)公司排行株洲seo快速排名
  • 校園網(wǎng)站群建設(shè)搜索引擎優(yōu)化入門
  • 生日禮物自己做網(wǎng)站南昌seo優(yōu)化公司
  • 周口哪家做網(wǎng)站好湖南平臺網(wǎng)站建設(shè)制作
  • 網(wǎng)站開發(fā)術(shù)語長沙網(wǎng)站推廣智投未來
  • 潮州市建設(shè)局官方網(wǎng)站下拉詞排名
  • wordpress置頂文章全文顯示seo怎樣
  • 做快消品看那些網(wǎng)站好外貿(mào)網(wǎng)站平臺都有哪些
  • 自建網(wǎng)站模板營銷外包
  • 網(wǎng)站建設(shè)網(wǎng)站建設(shè)網(wǎng)站運(yùn)營與維護(hù)
  • 現(xiàn)在在市場上做網(wǎng)站怎么樣哪個(gè)平臺做推廣效果好
  • 網(wǎng)站到期怎么續(xù)費(fèi)網(wǎng)上商城推廣13種方法
  • 自己怎么做彩票網(wǎng)站整站優(yōu)化包年
  • wordpress做外貿(mào)網(wǎng)站的劣勢北京優(yōu)化網(wǎng)站方法
  • 市住房住房城鄉(xiāng)建設(shè)委官方網(wǎng)站友鏈網(wǎng)
  • 大連網(wǎng)站建設(shè)怎么做精準(zhǔn)營銷推廣方案
  • 網(wǎng)站平臺建設(shè)招標(biāo)書百度seo優(yōu)化服務(wù)項(xiàng)目
  • 廣東省建設(shè)執(zhí)業(yè)資格注冊中心官方網(wǎng)站百度新聞頭條
  • 網(wǎng)站免費(fèi)虛擬主機(jī)申請外貿(mào)seo優(yōu)化公司
  • 溫州龍灣做網(wǎng)站河北seo推廣
  • 濰坊市建設(shè)監(jiān)理協(xié)會網(wǎng)站第三方推廣平臺
  • 怎樣做網(wǎng)站管理怎樣在百度上做廣告
  • 做網(wǎng)站要法人身份證嗎品牌營銷案例分析
  • 網(wǎng)站添加二維碼百度貼吧網(wǎng)頁版登錄