python 图片去噪的方法示例
作者:qq_41895190 发布时间:2021-12-10 19:42:25
标签:python,图片去噪
图像可能在生成、传输或者采集过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样目标狭长的图像中,因为在滤波的过程中很有可能会去掉字符本身的像素。
一个采用的是去除杂点的方法来进行去噪声处理的。具体算法如下:扫描整个图像,当发现一个黑色点的时候,就考察和该黑色点间接或者直接相连接的黑色点的个数有多少,如果大于一定的值,那就说明该点不是离散点,否则就是离散点,把它去掉。在考察相连的黑色点的时候用的是递归的方法。此处,我简单的用python实现了,大家可以参考以下。
#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] #中央像素点像素值
if mid_pixel == 0: #找出上下左右四个方向像素点像素值
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)]
#判断上下左右的黑色像素点总个数
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()
来源:https://blog.csdn.net/qq_41895190/article/details/82781077


猜你喜欢
- 本文实例讲述了Python基于回溯法子集树模板实现图的遍历功能。分享给大家供大家参考,具体如下:问题一个图:A --> BA --&g
- python实现二级登陆菜单的代码如下所示:""" 1. * 菜单 注册 登陆 注销 2.进入每一个一级菜单,都
- 问题缘由:负责公司的开发平台研发工作,考虑的知识产权的保护工作,必须要考虑java的加密技术和js脚本的加密技术。在目前java加密很容易破
- 1.创建空字典>>> dic = {}>>> type(dic)<type 'dict
- Python的绘图库也允许用户创建优雅的图形,本章给大家介绍的是关于ggplot绘制画图的技巧,ggplot2建立在grid系统上,这个系统
- 一份完全按照李航<<统计学习方法>>介绍的HMM代码,供大家参考,具体内容如下#coding=utf8 '&
- 学习https://matplotlib.org/gallery/index.html 记录,描述不一定准确,具体请参考官网Matplotl
- 阅读前:Pro Javascript Techniques翻译连载说明和目录JavaScript的演化是渐进而稳固的。历经过去十年的进程,J
- 本文实例讲述了python打开url并按指定块读取网页内容的方法。分享给大家供大家参考。具体实现方法如下:import urllibpage
- 一、表单的事件监听先介绍一下几个属性的用法1、lay-filter 事件过滤器相当于选择器,layui的专属选择器2、lay-verify
- 模板引擎说明:模板文件就是按照一定的规则书写的展示效果的HTML文件 模板引擎就是负责按照指定规则进行替换的工具模板引擎选择jinja2一、
- 问题:如何用ASP实现点击数统计?比如我要实现某篇文章被浏览一次就增加一个点击数,该怎么做?回答:就是说,比如,你的页面是:shownews
- Vue如何配置根目录@首先:@是在路径访问时使用的,为了减少层级引用。@这是webpack设置的路径别名,默认指向src。旧版本在build
- 一、使用logging.config.dictConfig()函数读取配置信息,参数是字典类型with open(file="./
- 本文实例讲述了Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法。分享给大家
- 用for循环实现1~n求和的方法def main(): sum = 0 n = int(input('n=&
- 一,将介绍如何(1)mysql5.7是有默认密码的查找默认密码grep 'temporary password' /var/
- 前言最近想做个小玩意,需要在mac端实现屏幕截图,搜了下网上中文资源都比较老旧,于是查了下,发现有些好用的Python库已经支持Mac 以及
- 一、原理说明1,authentication_string这是Mysql8.0新做出的修改,在旧版本中使用的是password()函数。2,
- 本文实例为大家分享了小程序自定义弹出框效果的具体代码,供大家参考,具体内容如下my-pop----api:title ------字符串--