最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用python 對(duì)驗(yàn)證碼圖片進(jìn)行降噪處理

 更新時(shí)間:2019年12月18日 09:43:51   作者:大蛇王  
今天小編就為大家分享一篇使用python 對(duì)驗(yàn)證碼圖片進(jìn)行降噪處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

首先貼一張驗(yàn)證碼上來(lái)做案例:

第一步先通過(guò)二值化處理把干擾線去掉:

from PIL import Image
 
# 二值化處理
def two_value():
  for i in range(1,5):
    # 打開(kāi)文件夾中的圖片
    image=Image.open('./Img/'+str(i)+'.jpg')
    # 灰度圖
    lim=image.convert('L')
    # 灰度閾值設(shè)為165,低于這個(gè)值的點(diǎn)全部填白色
    threshold=165
    table=[]
    
    for j in range(256):
      if j<threshold:
        table.append(0)
      else:
        table.append(1)
 
    bim=lim.point(table,'1')
    bim.save('./Img2/'+str(i)+'.jpg')
 
two_value()

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

然后對(duì)黑白圖片進(jìn)行降噪,去掉那些單獨(dú)的黑色像素點(diǎn):

from PIL import Image
 
# 去除干擾線
im = Image.open('./Img2/1.jpg')
# 圖像二值化
data = im.getdata()
w,h = im.size
black_point = 0
 
for x in range(1,w-1):
  for y in range(1,h-1):
    mid_pixel = data[w*y+x] # 中央像素點(diǎn)像素值
    if mid_pixel <50: # 找出上下左右四個(gè)方向像素點(diǎn)像素值
      top_pixel = data[w*(y-1)+x]
      left_pixel = data[w*y+(x-1)]
      down_pixel = data[w*(y+1)+x]
      right_pixel = data[w*y+(x+1)]
 
      # 判斷上下左右的黑色像素點(diǎn)總個(gè)數(shù)
      if top_pixel <10:
        black_point += 1
      if left_pixel <10:
        black_point += 1
      if down_pixel <10:
        black_point += 1
      if right_pixel <10:
        black_point += 1
      if black_point <1:
        im.putpixel((x,y),255)
      # print(black_point)
      black_point = 0
 
im.save('xxxx.jpg')

運(yùn)行結(jié)果如下圖所示:

最后對(duì)邊框上附著的黑色像素點(diǎn)進(jìn)行消除:

from PIL import Image
 
# 去除干擾線
im = Image.open('./Img2/1.jpg')
# 圖像二值化
data = im.getdata()
w,h = im.size
black_point = 0
 
for x in range(1,w-1):
  for y in range(1,h-1):
    if x<2 or y<2 :
      im.putpixel((x-1, y-1), 255)
    if x>w-3 or y>h-3:
      im.putpixel((x+1 , y+1 ), 255)
 
im.save('xxx.jpg')

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

以上這篇使用python 對(duì)驗(yàn)證碼圖片進(jìn)行降噪處理就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python中where()函數(shù)的用法

    詳解Python中where()函數(shù)的用法

    本篇文章主要介紹了詳解Python中where()函數(shù)的用法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Python?PaddleNLP開(kāi)源實(shí)現(xiàn)快遞單信息抽取

    Python?PaddleNLP開(kāi)源實(shí)現(xiàn)快遞單信息抽取

    這篇文章主要為大家介紹了Python?PaddleNLP開(kāi)源項(xiàng)目實(shí)現(xiàn)對(duì)快遞單信息抽取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Django 開(kāi)發(fā)調(diào)試工具 Django-debug-toolbar使用詳解

    Django 開(kāi)發(fā)調(diào)試工具 Django-debug-toolbar使用詳解

    這篇文章主要介紹了Django 開(kāi)發(fā)調(diào)試工具 Django-debug-toolbar使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • tkinter如何實(shí)現(xiàn)打開(kāi)文件對(duì)話框并獲取文件絕對(duì)路徑

    tkinter如何實(shí)現(xiàn)打開(kāi)文件對(duì)話框并獲取文件絕對(duì)路徑

    這篇文章主要介紹了tkinter實(shí)現(xiàn)打開(kāi)文件對(duì)話框并獲取文件絕對(duì)路徑問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python中*args和**kwargs的作用

    Python中*args和**kwargs的作用

    *args和**kwargs,以及單獨(dú)的*,**到底是啥作用呢?原理是啥呢?讀完這篇文章你就徹底明白了,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • python?numpy?中l(wèi)inspace函數(shù)示例詳解

    python?numpy?中l(wèi)inspace函數(shù)示例詳解

    這篇文章主要介紹了python?numpy?中l(wèi)inspace函數(shù),本文我們通過(guò)示例學(xué)習(xí)了linspace函數(shù),如果你熟悉NumPy,一定也注意到還有np.arange函數(shù),兩者最大差異是,linspace能夠精確控制終止值終值,而arange能夠更直接地控制序列中值之間的增量,需要的朋友可以參考下
    2023-03-03
  • 在pandas中遍歷DataFrame行的實(shí)現(xiàn)方法

    在pandas中遍歷DataFrame行的實(shí)現(xiàn)方法

    這篇文章主要介紹了在pandas中遍歷DataFrame行的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • python基礎(chǔ)之裝飾器詳解

    python基礎(chǔ)之裝飾器詳解

    這篇文章主要介紹了python基礎(chǔ)之裝飾器詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有一定的幫助,需要的朋友可以參考下
    2021-04-04
  • python使用sqlite3時(shí)游標(biāo)使用方法

    python使用sqlite3時(shí)游標(biāo)使用方法

    這篇文章主要為大家詳細(xì)介紹了python使用sqlite3時(shí)游標(biāo)的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 在Python程序中操作文件之flush()方法的使用教程

    在Python程序中操作文件之flush()方法的使用教程

    這篇文章主要介紹了在Python程序中操作文件之flush()方法的使用教程,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05

最新評(píng)論

宣化县| 怀仁县| 秦皇岛市| 石首市| 华安县| 富民县| 申扎县| 宜兴市| 沙坪坝区| 阳朔县| 高青县| 安阳市| 长春市| 兴义市| 穆棱市| 甘泉县| 宁河县| 个旧市| 玉山县| 湘阴县| 丽水市| 北宁市| 锦州市| 焉耆| 手游| 泸西县| 页游| 屏东市| 承德县| 依兰县| 东至县| 牡丹江市| 大关县| 江孜县| 丹巴县| 延庆县| 寻甸| 扬中市| 阳西县| 定陶县| 绥芬河市|