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聊天室实现方法
Jun 28 Python
Python的Flask框架的简介和安装方法
Nov 13 Python
Python基于identicon库创建类似Github上用的头像功能
Sep 25 Python
使用pandas对两个dataframe进行join的实例
Jun 08 Python
利用Python如何制作好玩的GIF动图详解
Jul 11 Python
浅谈Python中eval的强大与危害
Mar 13 Python
jupyter修改文件名方式(TensorFlow)
Apr 21 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
Python如何急速下载第三方库详解
Nov 02 Python
Pycharm安装python库的方法
Nov 24 Python
python 利用jieba.analyse进行 关键词提取
Dec 17 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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
实现“上一页”和“下一页按钮
2006/10/09 PHP
php分页思路以及在ZF中的使用
2012/05/30 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
使用图灵api创建微信聊天机器人
2015/07/23 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
2020/10/28 PHP
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
DOM基础教程之事件对象
2015/01/20 Javascript
javascript实现简易计算器的代码
2016/05/31 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
在vue-cli3中使用axios获取本地json操作
2020/07/30 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
2020/08/03 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
python 基础教程之Map使用方法
2017/01/17 Python
Python中查看文件名和文件路径
2017/03/31 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
python 美化输出信息的实例
2018/10/15 Python
python3.5安装python3-tk详解
2019/04/26 Python
python实现最大子序和(分治+动态规划)
2019/07/05 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python之拟合的实现
2019/07/19 Python
Python shutil模块用法实例分析
2019/10/02 Python
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
高二英语教学反思
2014/01/19 职场文书
优秀的2014年两会精神解读
2014/03/17 职场文书
党员剖析材料范文
2014/09/30 职场文书
教师个人工作总结范文2014
2014/11/10 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书