图像处理学习--银行卡号码识别(1)

使用库:

from imutils import contours  # 轮廓函数
import numpy as np
import argparse    #参数化函数
import cv2
import myutils    #自定义函数

1、imutils库:

        imutils库可以比直接使用OpenCV的某些功能更方便使用。

1.1:imutils.find_function(" ")

        按功能名称查找OpenCV功能函数。

1.2:图像平移

translated = imutils.translate(img,x,y)

img :图像

x:沿x轴方向移动的像素个数

y:沿y轴方向移动的像素个数

1.3:图像旋转

img_rotate1 = imutils.rotate(img, angle)

angle:旋转角度,按逆时针旋转

rotate_round()可按顺时针旋转。

1.4:图像缩放:

img_resized = imutils.resize(img, width = ,height=)

不同于OpenCV中需要指定宽高,imutils可以自动保持图像原有宽高比。

一般若有参数 width 则按宽度的比例进行缩放。

1.5:转BGR2RGB:

imutils.opencv2matplotlib(img)

防止plt.imshow(img)出错。

注:Opencv默认用BGR格式打开图片,motplotib用RGB格式打开图片

1.6:图像骨架提取:

skeleton = imutils.skeletonize(gray, size=(3, 3))

假如图片是白图像黑背景,该函数可以画出图片上图像的结构。函数包含两个必须参数,第一个是单通道图片,第二个参数是size(核大小)。还有一个可选参数structuring,默认为cv2.MORPH_REC——核大小相当于是一个粒度,越小需要处理的时间越长。

2、argparse库

argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生成帮助和使用信息。

2.1、创建解释器:

ap = argparse.ArgumentParser(description='')

description:命令行的帮助开始文字,一般情况只会用到这个参数。

2.2、添加参数:

ap.add_argument()

2.2.1、name or flags:指定参数形式,一般写一个长参数和一个短参数,如 "-i","--image"。

2.2.2、default:若没有出现这个参数,则使用指定的默认值。

出现则指定参数值,如default = "test.png"。

2.2.3、type:指定传进参数数据类型。如type = int。

2.2.4、choices:设置参数范围,若参数不是字符串类型记得指定为字符串类型。

如:ap.add_argument(“-y”, choices=[‘a’, ‘b’, ‘d’]) 

2.2.5:required:一般如"-i"这种的参数为可选的,但是若required = True 则为必须的了。所以在参数指定时,要注意required参数的值。

2.2.6:metavar:参数名字,显示帮助信息时用到。

如  parser.add_argument(“-i”, metavar=”an image”)

2.2.7:nargs:指定参数后面的value有几个。

例如,我们希望使用-n 1 2 3 4,来设置n的值为[1, 2, 3, 4]

parser.add_argument(“-n”, “–num”, nargs=”+”, type=int) 

这里nargs=”+”表示,如果你指定了-n选项,那么-n后面至少要跟一个参数,"+"表示至少一个,"?" 表示一个或0个,0个或多个 。

2.2.8:help:设置帮助信息。

2.3、参数解析:

ap.parse_args()

实例:

ap = argparse.ArgumentParser(description='传输图片')
ap.add_argument("-i", "--image", default='E:\ImageRecognition\XYKshibie\images\credit_card_03.png',required=False, help="path to input image")
ap.add_argument("-t", "--template",default='E:\ImageRecognition\XYKshibie\images\ocr_a_reference.png',required=False, help="path to template OCR-A image")
args = vars(ap.parse_args())   #参数解析

其中required参数可改为True,进行参数默认化输入。

vars(object)  函数返回对象object的属性和属性值的字典对象。  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值