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 相关文章推荐
Django中使用group_by的方法
May 26 Python
Django admin美化插件suit使用示例
Dec 12 Python
python实现淘宝秒杀聚划算抢购自动提醒源码
Jun 23 Python
Python 判断文件或目录是否存在的实例代码
Jul 19 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
Jun 24 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 Python
如何Tkinter模块编写Python图形界面
Oct 14 Python
Python通过递归函数输出嵌套列表元素
Oct 15 Python
python 基于opencv 绘制图像轮廓
Dec 11 Python
Python first-order-model实现让照片动起来
Jun 25 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
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
2007/08/19 PHP
php session应用实例 登录验证
2009/03/16 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
JQuery实现鼠标滑过显示导航下拉列表
2013/09/12 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
Angular父组件调用子组件的方法
2018/04/02 Javascript
vue-cli项目修改文件热重载失效的解决方法
2018/09/19 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
基于Python的身份证号码自动生成程序
2014/08/15 Python
Python实现Linux下守护进程的编写方法
2014/08/22 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
Python中的字符串替换操作示例
2016/06/27 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
Python unittest模块用法实例分析
2018/05/25 Python
python numpy 常用随机数的产生方法的实现
2019/08/21 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
CSS3实现彩色进度条动画的示例
2020/10/29 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
米兰网婚纱礼服法国网上商店:Milanoo法国
2016/08/20 全球购物
全球最大的游戏市场:G2A
2018/07/05 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
2014年加油站站长工作总结
2014/12/23 职场文书
针对吵架老公保证书
2015/05/08 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python