Python实现图像的垂直投影示例


Posted in Python onJanuary 17, 2020

Python + OpenCV 直接上代码

import cv2 
import numpy as np 
from matplotlib import pyplot as plt 
from PIL import Image
 
img=cv2.imread('0002.jpg') #读取图片,装换为可运算的数组
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  #将BGR图转为灰度图
ret,thresh1=cv2.threshold(GrayImage,130,255,cv2.THRESH_BINARY) #将图片进行二值化(130,255)之间的点均变为255(背景)
# print(thresh1[0,0])#250 输出[0,0]这个点的像素值 				#返回值ret为阈值
# print(ret)#130
(h,w)=thresh1.shape #返回高和宽
# print(h,w)#s输出高和宽
a = [0 for z in range(0, w)] 
print(a) #a = [0,0,0,0,0,0,0,0,0,0,...,0,0]初始化一个长度为w的数组,用于记录每一列的黑点个数 
 
#记录每一列的波峰
for j in range(0,w): #遍历一列 
  for i in range(0,h): #遍历一行
    if thresh1[i,j]==0: #如果改点为黑点
      a[j]+=1 		#该列的计数器加一计数
      thresh1[i,j]=255 #记录完后将其变为白色 
  # print (j)      
 
#      
for j in range(0,w): #遍历每一列
  for i in range((h-a[j]),h): #从该列应该变黑的最顶部的点开始向最底部涂黑
    thresh1[i,j]=0  #涂黑
 
#此时的thresh1便是一张图像向垂直方向上投影的直方图
#如果要分割字符的话,其实并不需要把这张图给画出来,只需要的到a=[]即可得到想要的信息
 
 
# img2 =Image.open('0002.jpg')
# img2.convert('L')
# img_1 = np.array(img2)
plt.imshow(thresh1,cmap=plt.gray())
plt.show()
cv2.imshow('img',thresh1) 
cv2.waitKey(0) 
cv2.destroyAllWindows()

原图:

Python实现图像的垂直投影示例

运行结果:

Python实现图像的垂直投影示例

在水平方向上进行投影,代码如下所示(原理同上):

import cv2 
import numpy as np 
from matplotlib import pyplot as plt 
from PIL import Image
 
img=cv2.imread('C:/Users/Jet Zhang/Desktop/50/50/cut.png') 
GrayImage=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
ret,thresh1=cv2.threshold(GrayImage,130,255,cv2.THRESH_BINARY)
 
(h,w)=thresh1.shape #返回高和宽
 
a = [0 for z in range(0, h)] 
print(a) 
 
for j in range(0,h): 
  for i in range(0,w): 
    if thresh1[j,i]==0: 
      a[j]+=1 
      thresh1[j,i]=255
     
for j in range(0,h): 
  for i in range(0,a[j]):  
    thresh1[j,i]=0  
 
plt.imshow(thresh1,cmap=plt.gray())
plt.show()

效果图如下所示:

Python实现图像的垂直投影示例

以上这篇Python实现图像的垂直投影示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python用Bottle轻量级框架进行Web开发
Jun 08 Python
浅谈python字符串方法的简单使用
Jul 18 Python
Python3.4实现从HTTP代理网站批量获取代理并筛选的方法示例
Sep 26 Python
python 2.7.14安装图文教程
Apr 08 Python
python pandas库中DataFrame对行和列的操作实例讲解
Jun 09 Python
python求最大值最小值方法总结
Jun 25 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
用Python画一个LinkinPark的logo代码实例
Sep 10 Python
深入浅析Python 函数注解与匿名函数
Feb 24 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
在 Python 中使用 MQTT的方法
Aug 18 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
基于python实现语音录入识别代码实例
Jan 17 #Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 #Python
python实现高斯投影正反算方式
Jan 17 #Python
python中图像通道分离与合并实例
Jan 17 #Python
Python-opencv 双线性插值实例
Jan 17 #Python
如何通过python实现人脸识别验证
Jan 17 #Python
Python-openCV读RGB通道图实例
Jan 17 #Python
You might like
一个MYSQL操作类
2006/11/16 PHP
php 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
php下获取http状态的实现代码
2014/05/09 PHP
总结PHP中数值计算的注意事项
2016/08/14 PHP
PHP 无限级分类
2017/05/04 PHP
JavaScript获取GridView选择的行内容
2009/04/14 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
javascript 实现map集合
2015/04/03 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
JS封装的选项卡TAB切换效果示例
2016/09/20 Javascript
jquery网页日历显示控件calendar3.1使用详解
2016/11/24 Javascript
jQuery实现级联下拉框实战(5)
2017/02/08 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
Element-UI中关于table表格的那些骚操作(小结)
2019/08/15 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
python获取当前目录路径和上级路径的实例
2018/04/26 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
Python Pandas实现数据分组求平均值并填充nan的示例
2019/07/04 Python
python 读取修改pcap包的例子
2019/07/23 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
Django框架模板用法入门教程
2019/11/04 Python
python 列表、字典和集合的添加和删除操作
2019/12/16 Python
openCV提取图像中的矩形区域
2020/07/21 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
德尔福集团DELPHI的笔试题
2012/02/22 面试题
给实习单位的感谢信
2014/02/01 职场文书
纺织工程专业推荐信
2014/09/08 职场文书
小学假期安全广播稿
2014/09/28 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python