python 圖片去噪的方法示例
圖像可能在生成、傳輸或者采集過程中夾帶了噪聲,去噪聲是圖像處理中常用的手法。通常去噪聲用濾波的方法,比如中值濾波、均值濾波。但是那樣的算法不適合用在處理字符這樣目標(biāo)狹長的圖像中,因?yàn)樵跒V波的過程中很有可能會(huì)去掉字符本身的像素。
一個(gè)采用的是去除雜點(diǎn)的方法來進(jìn)行去噪聲處理的。具體算法如下:掃描整個(gè)圖像,當(dāng)發(fā)現(xiàn)一個(gè)黑色點(diǎn)的時(shí)候,就考察和該黑色點(diǎn)間接或者直接相連接的黑色點(diǎn)的個(gè)數(shù)有多少,如果大于一定的值,那就說明該點(diǎn)不是離散點(diǎn),否則就是離散點(diǎn),把它去掉。在考察相連的黑色點(diǎn)的時(shí)候用的是遞歸的方法。此處,我簡單的用python實(shí)現(xiàn)了,大家可以參考以下。
#coding=utf-8
"""
造物奇跡QQ2737499951
"""
import cv2
import numpy as np
from matplotlib import pyplot as plt
from PIL import Image,ImageEnhance,ImageFilter
img_name = 'test.jpg'
#去除干擾線
im = Image.open(img_name)
#圖像二值化
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
data = im.getdata()
w,h = im.size
#im.show()
black_point = 0
for x in xrange(1,w-1):
for y in xrange(1,h-1):
mid_pixel = data[w*y+x] #中央像素點(diǎn)像素值
if mid_pixel == 0: #找出上下左右四個(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 == 0:
black_point += 1
if left_pixel == 0:
black_point += 1
if down_pixel == 0:
black_point += 1
if right_pixel == 0:
black_point += 1
if black_point >= 3:
im.putpixel((x,y),0)
#print black_point
black_point = 0
im.show()
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python實(shí)現(xiàn)從本地?cái)z像頭和網(wǎng)絡(luò)攝像頭截取圖片功能
- python opencv對(duì)圖像進(jìn)行旋轉(zhuǎn)且不裁剪圖片的實(shí)現(xiàn)方法
- python 使用plt畫圖,去除圖片四周的白邊方法
- 使用Python opencv實(shí)現(xiàn)視頻與圖片的相互轉(zhuǎn)換
- python3讀取圖片并灰度化圖片的四種方法(OpenCV、PIL.Image、TensorFlow方法)總結(jié)
- 詳解利用python+opencv識(shí)別圖片中的圓形(霍夫變換)
- 通過python改變圖片特定區(qū)域的顏色詳解
相關(guān)文章
PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進(jìn)行數(shù)據(jù)分析圖文詳解
這篇文章主要介紹了PyCharm設(shè)置Ipython交互環(huán)境和宏快捷鍵進(jìn)行數(shù)據(jù)分析圖文詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
基于python爬取梨視頻實(shí)現(xiàn)過程解析
這篇文章主要介紹了基于python爬取梨視頻實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
舉例講解Python設(shè)計(jì)模式編程中對(duì)抽象工廠模式的運(yùn)用
這篇文章主要介紹了Python設(shè)計(jì)模式編程中對(duì)抽象工廠模式的運(yùn)用,文中的例子體現(xiàn)了抽象工廠模式程序的一些設(shè)計(jì)優(yōu)化點(diǎn),需要的朋友可以參考下2016-03-03
Python定時(shí)執(zhí)行程序問題(schedule)
這篇文章主要介紹了Python定時(shí)執(zhí)行程序問題(schedule),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
利用python清除移動(dòng)硬盤中的臨時(shí)文件
本篇文章的目的是在移動(dòng)硬盤插入到電腦的同時(shí),利用Python自動(dòng)化和Windows服務(wù)刪除掉這些臨時(shí)文件。感興趣的朋友可以了解下2020-10-10

