博客
关于我
OPENCV(四)对图像进行水平投影和竖直投影
阅读量:342 次
发布时间: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/

你可能感兴趣的文章
[网站公告]11月26日00:00-04:00阿里云RDS升级
查看>>
[网站公告]又拍云API故障造成图片无法上传(已恢复)
查看>>
上周热点回顾(12.16-12.22)
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
查看>>
云计算之路-阿里云上:奇怪的CPU 100%问题
查看>>
云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
查看>>
上周热点回顾(6.9-6.15)
查看>>
上周热点回顾(6.16-6.22)
查看>>
上周热点回顾(10.20-10.26)
查看>>
上周热点回顾(2.16-2.22)
查看>>
上周热点回顾(3.2-3.8)
查看>>
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
查看>>
上周热点回顾(7.27-8.2)
查看>>
上周热点回顾(9.28-10.4)
查看>>
上周热点回顾(5.2-5.8)
查看>>
上周热点回顾(5.9-5.15)
查看>>
上周热点回顾(8.8-8.14)
查看>>
.NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1
查看>>
上周热点回顾(1.16-1.22)
查看>>
上周热点回顾(1.23-1.29)
查看>>