一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

驗證碼識別之二值化介紹

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2020-12-10 20:50 ? 次閱讀

前言

二值化顧名思義就是將數(shù)變成兩種值,一般非0即1。而在驗證碼處理中,如果直接使用灰度圖,那么每個像素的值會在0-255,這樣肯定會增加計算時間,而二值化后每個像素的值只是0和1。

在前面的簡單驗證碼識別中,我的二值化代碼是這樣寫的:a = (a > 180) * 255,至于這里為什么不乘1而乘255,因為我要顯示圖片看看效果。如果只是用于算法識別的話,乘1會更好。但是,這里的180也就是二值化的閾值是如何得到的,開始是通過一個一個試然后看效果哪個好就選哪個,因為我們一般只識別某個網(wǎng)站的驗證碼,這樣只要測試幾次得到結(jié)果后便可用于這個網(wǎng)站其他的驗證碼。

這樣測試有點浪費時間,雖然是一次性的,但是你手動測出的驗證碼不一定是最合適的。所以我們需要算法去自動計算出驗證碼的閾值,算法有很多,這里我們使用迭代法和最大類間方差法,通過這兩個算法計算出來的閾值基本差不多。

迭代法

  1. 求出圖像中的最小灰度值和最大灰度值,分別記為Gmin和Gmax,則閾值初值T0=(Gmin+Gmax)/2;
  2. 根據(jù)閾值T0將圖像分割成前景和背景兩部分,求出兩部分的平均灰度值m1和m2,平均灰度值=總灰度值/像素個數(shù)
  3. 求出新閾值T1=(m1+m2)/2
  4. 如果T0=T1,則結(jié)束,否則將T1的值賦予T0,從第2步重新計算。

算法實現(xiàn)如下:

import numpy as np
from PIL import Image

def iteration(img_path):
    img = Image.open(img_path).convert('L')
    a = np.array(img)
    a = a.ravel()
    k = int((int(a.max()) + int(a.min()))/2) # 即初始閾值T0
    m = -1
    while k != m:
        # C1和C2為前景和背景的像素
        C1 = a[a >= k]   
        C2 = a[a < k]
        k = m
        m1 = np.sum(C1)/len(C1) if len(C1) else 0
        m2 = np.sum(C2)/len(C2) if len(C2) else 0
        m = int((m1 + m2)/2)
    return k 

最大類間方差法(OTSU)

存在閾值T將圖像所有像素分為前景和背景,則這兩類像素各自的均值就為m1、m2,圖像全局均值為mG。同時像素被分為前景和背景的概率分別為p1、p2。因此就有:
p1*m1+p2*m2=mG p1+p2=1 則類間方差表達式為:


使得上式值最大時的閾值T就是最佳的閾值。

算法實現(xiàn)如下:

import numpy as np
from PIL import Image

def otsu(img_path):
    img = Image.open(img_path).convert('L')
    a = np.array(img)
    a = a.ravel()
    L = []
    for k in range(0, 256):
        C1 = a[a >= k]
        C2 = a[a < k]
        if not(len(C1) and  len(C2)):
            L.append(0)
            continue
        m1 = np.sum(C1)/len(C1)
        m2 = np.sum(C2)/len(C2)
        p1 = len(C1)/len(a)
        p2 = len(C2)/len(a)
        x = p1 * p2 * (m1 - m2) * (m1 - m2)
        L.append(x)
    return L.index(max(L))

最后,我正在學習一些機器學習的算法,對于一些我需要記錄的內(nèi)容我都會分享到博客和微信公眾號(python成長路),歡迎關(guān)注。平時的話一般分享一些爬蟲或者Python的內(nèi)容。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8481

    瀏覽量

    133866
  • 二值化
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    4308
收藏 人收藏

    評論

    相關(guān)推薦

    基于RV1126開發(fā)板實現(xiàn)二維碼識別方案

    在RV1126上實現(xiàn)二維碼識別方案
    的頭像 發(fā)表于 04-11 14:48 ?111次閱讀
    基于RV1126開發(fā)板實現(xiàn)<b class='flag-5'>二維碼</b><b class='flag-5'>識別</b>方案

    新大陸掃器測評:1秒識別破損,一維維條碼也能高效識別

    在自動與數(shù)字浪潮下,條碼掃描器已成為企業(yè)提升效率的核心工具。新大陸作為國產(chǎn)掃描設(shè)備領(lǐng)域的領(lǐng)軍品牌,其條碼掃器憑借卓越的性能和可靠性,成為行業(yè)標桿。本文以新大陸多款熱門型號為樣本,深度解析其
    的頭像 發(fā)表于 04-11 10:11 ?158次閱讀
    新大陸掃<b class='flag-5'>碼</b>器測評:1秒<b class='flag-5'>識別</b>破損<b class='flag-5'>碼</b>,一維<b class='flag-5'>二</b>維條碼也能高效<b class='flag-5'>識別</b>

    二維碼讀取器是干嘛的

    二維碼讀取器(用于二維碼讀取的機器),作為一種現(xiàn)代的自動識別技術(shù)設(shè)備,正日益滲透到我們生活的方方面面。從商場購物到物流配送,從醫(yī)療管理到工業(yè)生產(chǎn)線,
    的頭像 發(fā)表于 03-17 15:57 ?230次閱讀
    <b class='flag-5'>二維碼</b>讀取器是干嘛的

    一“”當先!看二維碼模組如何重塑智能門鎖掃體驗

    在科技日新月異的今天,智能門鎖正逐步取代傳統(tǒng)機械鎖,成為現(xiàn)代家庭安全防護的首選。在這場門鎖智能革命中,二維碼模組以其獨特的識別技術(shù)和便捷的操作方式,成為智能門鎖的重要組成部分。本文將深入探討
    的頭像 發(fā)表于 03-12 16:17 ?277次閱讀
    一“<b class='flag-5'>碼</b>”當先!看<b class='flag-5'>二維碼</b>模組如何重塑智能門鎖掃<b class='flag-5'>碼</b>體驗

    批量識別二維碼!工業(yè)讀器如何顛覆傳統(tǒng)生產(chǎn)線?

    在現(xiàn)代化生產(chǎn)的浪潮中,效率與精準度成為了衡量生產(chǎn)線性能的關(guān)鍵指標。隨著二維碼技術(shù)的普及和工業(yè)4.0時代的到來,一種名為“工業(yè)讀器”的設(shè)備正悄然改變著傳統(tǒng)生產(chǎn)線的面貌。它以其強大的二維碼批量
    的頭像 發(fā)表于 03-12 15:43 ?245次閱讀
    批量<b class='flag-5'>識別</b><b class='flag-5'>二維碼</b>!工業(yè)讀<b class='flag-5'>碼</b>器如何顛覆傳統(tǒng)生產(chǎn)線?

    嵌入式二維碼識別引擎是什么設(shè)備?哪些場景用得到?

    在科技日新月異的今天,嵌入式技術(shù)已廣泛滲透到我們生活的方方面面,其中,嵌入式二維碼識別引擎作為一種高效、便捷的信息采集工具,正逐漸成為眾多行業(yè)智能升級的重要推手。本文將帶您深入探索二維碼
    的頭像 發(fā)表于 03-10 14:57 ?211次閱讀
    嵌入式<b class='flag-5'>二維碼</b><b class='flag-5'>識別</b>引擎是什么設(shè)備?哪些場景用得到?

    快速將二維碼掃描識別模組嵌入集成到安卓一體機上使用

    在現(xiàn)代科技快速發(fā)展的今天,二維碼掃描模組的應用已深入到各個行業(yè)領(lǐng)域。特別是在安卓一體機中,二維碼掃描模組已成為其不可或缺的一部分。本文將詳細介紹如何在安卓一體機上安裝二維碼掃描模組、連
    的頭像 發(fā)表于 02-28 15:59 ?295次閱讀
    快速將<b class='flag-5'>二維碼</b>掃描<b class='flag-5'>識別</b>模組嵌入集成到安卓一體機上使用

    嵌入式二維碼識別器嵌入到POS機里面,集成高性能硬解碼掃方案

    嵌入式二維碼識別器作為現(xiàn)代商業(yè)交易中的關(guān)鍵組件,其在POS機中的應用已經(jīng)成為提升交易效率和客戶體驗的重要手段。通過將嵌入式二維碼識別器集成到POS機中,并結(jié)合高性能硬解碼掃
    的頭像 發(fā)表于 02-19 13:59 ?335次閱讀
    嵌入式<b class='flag-5'>二維碼</b><b class='flag-5'>識別</b>器嵌入到POS機里面,集成高性能硬解碼掃<b class='flag-5'>碼</b>方案

    設(shè)備能識別哪些類型的 工業(yè)二維碼掃描設(shè)備有什么推薦產(chǎn)品

    在當今智能制造與數(shù)字轉(zhuǎn)型的浪潮中,掃設(shè)備作為信息識別與采集的關(guān)鍵工具,其重要性日益凸顯。從簡單的條形碼到復雜多變的二維碼,再到專為工業(yè)環(huán)境設(shè)計的工業(yè)
    的頭像 發(fā)表于 12-18 15:13 ?698次閱讀
    掃<b class='flag-5'>碼</b>設(shè)備能<b class='flag-5'>識別</b>哪些類型的<b class='flag-5'>碼</b> 工業(yè)<b class='flag-5'>二維碼</b>掃描設(shè)備有什么推薦產(chǎn)品

    工業(yè)視覺在條碼/二維碼識別領(lǐng)域的應用

    工業(yè)視覺技術(shù)在條碼和二維碼識別領(lǐng)域的應用日益廣泛,它通過高精度的圖像處理和識別算法,實現(xiàn)了對條碼和二維碼的快速、準確識別。這項技術(shù)不僅提高了
    的頭像 發(fā)表于 11-18 16:28 ?573次閱讀
    工業(yè)視覺在條碼/<b class='flag-5'>二維碼</b><b class='flag-5'>識別</b>領(lǐng)域的應用

    《DNK210使用指南 -CanMV版 V1.0》第三十八章 image識別實驗

    的使用。本章分為如下幾個小節(jié):38.1 image模塊識別方法介紹38.2 硬件設(shè)計38.3 程序設(shè)計38.4 運行驗證 38.1 image模塊
    發(fā)表于 11-13 09:35

    條碼二維碼模組,支持次開發(fā)嵌入嗎?

    在當今信息化時代,條碼二維碼模組作為自動識別技術(shù)的關(guān)鍵設(shè)備,扮演著不可或缺的角色。它們不僅在工業(yè)制造、商業(yè)零售和醫(yī)療健康等領(lǐng)域大顯身手,還在物流倉儲和自助服務等場景中廣泛應用。本文將深入探討條碼
    的頭像 發(fā)表于 08-14 15:44 ?491次閱讀
    條碼<b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模組,支持<b class='flag-5'>二</b>次開發(fā)嵌入嗎?

    新大陸掃器哪款能夠識別DPM?新大陸二維介紹

    隨著工業(yè)自動的不斷發(fā)展,二維碼和數(shù)據(jù)矩陣(DPM)在生產(chǎn)、物流和倉儲等領(lǐng)域的應用越來越廣泛。DPM因其高密度和小體積的特點,常常被應
    的頭像 發(fā)表于 07-29 14:36 ?671次閱讀
    新大陸掃<b class='flag-5'>碼</b>器哪款能夠<b class='flag-5'>識別</b>DPM<b class='flag-5'>碼</b>?新大陸二維<b class='flag-5'>碼</b>掃<b class='flag-5'>碼</b>器<b class='flag-5'>介紹</b>

    生物識別驗證在哪里開啟

    識別驗證的原理是利用生物特征的唯一性和穩(wěn)定性,通過采集、分析和比對生物特征數(shù)據(jù),實現(xiàn)對個體身份的識別驗證。生物特征具有以下特點: 唯一性:每個人的生物特征都是獨一無
    的頭像 發(fā)表于 07-08 10:26 ?2242次閱讀

    二維碼模塊嵌入到電梯設(shè)備里

    二維碼模塊在電梯設(shè)備中的應用1.二維碼模塊的基本介紹二維碼
    的頭像 發(fā)表于 05-08 10:40 ?551次閱讀
    <b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊嵌入到電梯設(shè)備里