博客
关于我
OPENCV(四)对图像进行水平投影和竖直投影
阅读量:341 次
发布时间:2019-03-04

本文共 1140 字,大约阅读时间需要 3 分钟。

本篇博客讲述如何使用python的openCV库实现对图像的水平投影和竖直投影:

关键代码如下:

import cv2#读取图片image1 = cv2.imread('../img/123.png')# 灰度图像gray = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)# 二值化ret, binary = cv2.threshold(gray,130, 255, cv2.THRESH_BINARY)(h,w) = binary.shape#返回高和宽#垂直投影vproject = binary.copy()a = [0 for x in range(0,w)]#记录每一列的波峰for j in range(0,w):#遍历一列    for i in range(0,h):#遍历一行        if vproject[i,j]==0:#如果改点为黑点            a[j]+=1#该列的计数器加1计数            vproject[i,j]=255#记录完后将其变为白色for j in range(0,w):#遍历每一列    for i in range((h-a[j]),h):#从该列应该变黑的最顶部的点开始向最底部涂黑        vproject[i,j]=0 #涂黑cv2.putText(vproject,"verticality",(50,50),cv2.FONT_HERSHEY_SIMPLEX,1.5,(100,100,100),4)#水平投影hproject = binary.copy()b = [0 for x in range(0,h)]for j in range(0,h):    for i in range(0,w):        if hproject[j,i] == 0:            b[j] += 1            hproject[j,i] = 255for j in range(0,h):    for i in range(0,b[j]):        hproject[j,i]=0cv2.putText(hproject,"horizontal",(50,50),cv2.FONT_HERSHEY_SIMPLEX,1.5,(100,100,100),4)cv2.imshow("image1",image1)cv2.imshow("vproject",vproject)cv2.imshow("hproject",hproject)cv2.waitKey(0)cv2.destroyAllWindows()

运行的效果图如下:

在这里插入图片描述

转载地址:http://bche.baihongyu.com/

你可能感兴趣的文章
Linux环境变量配置错误导致命令不能使用(杂谈)
查看>>
openstack安装(九)网络服务的安装--控制节点
查看>>
shell编程(六)语言编码规范之(变量)
查看>>
vimscript学习笔记(二)预备知识
查看>>
SSM项目中遇到Could not autowire. No beans of ‘XXX‘ type found.错误
查看>>
Android数据库
查看>>
HTML基础,块级元素/行内元素/行内块元素辨析【2分钟掌握】
查看>>
STM8 GPIO模式
查看>>
omnet++
查看>>
23种设计模式一:单例模式
查看>>
Qt中的析构函数
查看>>
C语言实现dijkstra(adjacence matrix)
查看>>
C语言学习从初级到精通的疯狂实战教程-徐新帅-专题视频课程
查看>>
三层框架+sql server数据库 实战教学-徐新帅-专题视频课程
查看>>
NAT工作原理
查看>>
c++中的10种常见继承
查看>>
【单片机开发】智能小车工程(经验总结)
查看>>
【单片机开发】基于stm32的掌上游戏机设计 (项目规划)
查看>>
KeepAlived介绍、配置示例、KeepAlived配置IPVS、调用脚本进行监控
查看>>
Scala集合-数组、元组
查看>>