Python-直线检测-提取邮票编码

Python-直线检测-提取邮票编码

直接上代码:

# 导入库
import cv2
import numpy as np

# python线检测使用的时cv.HoughLinesP()函数:
img = cv2.imread('Envelope.jpg')

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

edges = cv2.Canny(gray, 50, 150, apertureSize=3)

minLineLength = 100
maxLineGap = 10
lines = cv2.HoughLinesP(edges, 1, np.pi / 180, 100, minLineLength, maxLineGap)

# 设置读取范围,提取长方形方框的四个点的xy坐标
xmin = 1000
xmax = 0
ymin = 1000
ymax = 0
img1 = img.copy()
for i in range(len(lines)):
    for x1, y1, x2, y2 in lines[i]:
        if x2 <= 512 and y2 <= 128:
            cv2.line(img1, (x1, y1), (x2, y2), (0, 255, 0), 2)
            if x2 > xmax:
                xmax = x2
            if y2 > ymax:
                ymax = y2
            if x1 < xmin:
                xmin = x1
            if y1 < ymin:
                ymin = y1

cv2.imshow('image', img)
eps = 1
cropped = img[ymin - eps:ymax + eps, xmin - eps:xmax + eps]
cv2.imshow('crop', cropped)

cv2.waitKey()
cv2.destroyAllWindows()

原图:
在这里插入图片描述
结果图-直线检测:
在这里插入图片描述
结果图-编码提取:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值