python字符分割垂直投影法_Python实现投影法分割图像示例(一)
Python实现投影法分割图像示例(一)
发布时间:2020-01-26 21:14
来源:互联网
当前栏目:web技术类
投影法多用于图像的阈值分割。闲话不多说,现用Python实现。
上代码。
import cv2
import numpy
img = cv2.imread('D:/0.jpg', cv2.COLOR_BGR2GRAY)
height, width = img.shape[:2]
#resized = cv2.resize(img, (3*width,3*height), interpolation=cv2.INTER_CUBIC)
#二值化
(_, thresh) = cv2.threshold(img, 150, 255, cv2.THRESH_BINARY)
#cv2.imshow('thresh', thresh)
#扩大黑色面积,使效果更明显
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (10, 10))#形态学处理,定义矩形结构
closed = cv2.erode(thresh, None, iterations = 5)
cv2.imshow('erode',closed)
height, width = closed.shape[:2]
v = [0]*width
z = [0]*height
a = 0
#垂直投影
#统计并存储每一列的黑点数
for x in range(0, width):
for y in range(0, height):
if closed[y,x][0] == 0:
a = a + 1
else :
continue
v[x] = a
a = 0
l = len(v)
#print l
#print width
#创建空白图片,绘制垂直投影图
emptyImage = numpy.zeros((height, width, 3), numpy.uint8)
for x in range(0,width):
for y in range(0, v[x]):
b = (255,255,255)
emptyImage[y,x] = b
cv2.imshow('chuizhi', emptyImage)
#水平投影
#统计每一行的黑点数
a = 0
emptyImage1 = numpy.zeros((height, width, 3), numpy.uint8)
for y in range(0, height):
for x in range(0, width):
if closed[y,x][0] == 0:
a = a + 1
else :
continue
z[y] = a
a = 0
l = len(z)
#print l
#print height
#绘制水平投影图
for y in range(0,height):
for x in range(0, z[y]):
b = (255,255,255)
emptyImage1[y,x] = b
cv2.imshow('shuipin', emptyImage1)
cv2.waitKey(0)
原图
垂直投影图
水平投影图
由这两图可以确定我们所需的分割点,从而可以进行下一步的文本分割。这将在下一篇博客中实现。
以上这篇Python实现投影法分割图像示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。
python字符分割垂直投影法_Python实现投影法分割图像示例(一)相关推荐
- python字符复制函数是啥_Python最全的字符和字符串函数,直接复制到IDLE或另存为py可以运行...
## -*- coding: utf-8 -*- import string str1 = "0123456789" print str1[0:3] ##截取第一位到第三位的字符 ...
- python字符编码用什么储存卡_python字符编码
一 了解字符编码的知识储备 一 计算机基础知识 二 文本编辑器存取文件的原理(nodepad++,pycharm,word) #1.打开编辑器就打开了启动了一个进程,是在内存中的,所以,用编辑器编写的 ...
- python字符编码正确的是_python字符编码
字符编码的转换 编码问题一直是个难以理解的问题,莫名其妙转换来转换去的,程序的结果就能正确输出,最后还是留出一点时间开始理解这个棘手的问题. python有两种字符串类型,str.unicode,这两 ...
- python四种占位符例子_Python 占位符格式化的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 占位符,顾名思义就是插在输出里站位的符号.占位符是绝大部分编程语言都存在的语法, 而且大部分都是相 ...
- python绘制条形图用什么函数_Python绘制正余弦函数图像完整代码
通过python绘制正弦和余弦函数,从默认的设置开始,一步一步地调整改进,让它变得好看,变成我们初高中学习过的图象那样.通过这个过程来学习如何进行对图表的一些元素的进行调整. 01. 简单绘图 mat ...
- python 打印xml文档树_Python构建XML树结构的方法示例
本文实例讲述了Python构建XML树结构的方法.分享给大家供大家参考,具体如下: 1.构建XML元素 #encoding=utf-8 from xml.etree import ElementTre ...
- python中os模块详解_Python OS模块(常见文件操作示例)
1 Python 常见文件操作示例 2. 3. os.path 模块中的路径名访问函数 4. 分隔 5. basename() 去掉目录路径 , 返回文件名 6. dirname() 去掉文件名 , ...
- python统计图片的纹理信息_python实现LBP方法提取图像纹理特征实现分类
题目描述 这篇博文是数字图像处理的大作业. 题目描述:给定40张不同风格的纹理图片,大小为512*512,要求将每张图片分为大小相同的9块,利用其中的5块作为训练集,剩余的4块作为测试集,构建适当的模 ...
- python 搭建的http 动态服务器_Python 创建HTTP服务器的简单示例
这篇文章主要为大家详细介绍了Python 创建HTTP服务器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...
最新文章
- C#反射读取和设置实体类的属性
- 数据中心更新那么快,运维人如何度过35岁危机?
- python如何使用sdk_七牛云存储Python SDK使用教程 - 基本介绍
- NodeMailer
- android 4.4 linux 内核版本,稳定内核版本和更新 | Android 开源项目 | Android Open Source Project...
- Java-程序的入口
- 【动态规划】开心的小明
- html-webpack-template, 一个更好的html web service插件
- 基于QT框架的离线词典应用程序
- 很好奇这个背景图片,盯着看能感受到裸眼3D有没有
- Access Violation(非法访问)错误的解决方法
- 倍福PLC Modbus通信区
- 图解angr中两种CFG的区别
- 关于Discuz论坛整合问题
- 33个与众不同的Web表单设计
- 解读采用DSP工业电机控制系统电路_电动机控制电路图讲解
- 第一部分 Rx快速入门
- c语言作文的题目_c语言练习题目
- JavaScript中常用事件有哪些?
- ORACLE 闩锁介绍
热门文章
- 解决Cadence 17.4软件无法启动,capture cis启动缓慢,打开项目缓慢,allegro 打开程序未响应(即使微软拼音切换兼容模式也无法解决的情况)
- 论文小技巧-pdf转eps使色彩保持RGB不变及去边框
- 5. Django templates模板 (一)
- 解决vue项目出现Navigating to current location (XXX) is not allowed 报错
- 奥维查看行政边界_全国乡镇行政区划数据乡镇边界数据查询获取方式
- gamemaker 2 如何做一个过场动画的思路
- 记云服务器中挖矿病毒与防范
- Cassini Data Rev manufacturer eals Likely Subsurface Ocean on Titan
- win7如何去除计算机左边的,win7系统删除资源管理器左侧的家庭组图标方法图解...
- 最详细的 Hadoop 入门教程