argparse设定参数Output,路径为指定路径
时间: 2024-03-09 14:50:10 浏览: 14
好的,您可以使用以下代码来设定一个名为Output的参数,并指定其路径为指定路径:
```python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--Output', type=str, help='output file path')
args = parser.parse_args()
output_path = args.Output
```
接下来,您可以在命令行中运行您的脚本,并指定Output参数的值,例如:
```
python your_script.py --Output /path/to/output/file.txt
```
在您的脚本中,output_path变量将包含指定的输出文件路径。
相关问题
是在parser.add_argument中设置路径吗
是的,你可以在使用 argparse 模块创建命令行接口时,通过 parser.add_argument() 方法来设置路径参数。具体来说,你可以使用该方法的 metavar 参数来指定参数的名称,使用 dest 参数来指定解析后参数的名称,使用 required 参数来指定该参数是否必须提供值,使用 type 参数来指定参数值的类型,使用 default 参数来指定默认值,使用 help 参数来指定参数的帮助信息。下面是一个示例代码:
```
import argparse
parser = argparse.ArgumentParser(description='Process some files.')
parser.add_argument('input_path', metavar='input', type=str,
help='an input file path')
parser.add_argument('output_path', metavar='output', type=str,
help='an output file path')
args = parser.parse_args()
print(args.input_path)
print(args.output_path)
```
在上面的代码中,我们使用了两个位置参数 input 和 output 分别表示输入文件路径和输出文件路径。当你运行该代码并提供输入和输出文件路径时,它会将这些路径存储在 argparse.Namespace 对象中,并打印出来。例如,你可以运行以下命令:
```
python myscript.py /path/to/input/file /path/to/output/file
```
然后,你就会看到程序输出了输入和输出文件路径:
```
/path/to/input/file
/path/to/output/file
```
解析代码from imutils import contours import numpy as np import argparse #参数设置包 import imutils #图像处理包 import cv2 import myutils#自定义包 #设置参数 ap=argparse.ArgumentParser()#创建一个解析对
象
ap.add_argument("-i", "--image", required=True, help="path to input image")#添加参数-i/--image,表示输入图片的路径
ap.add_argument("-r", "--reference", required=True, help="path to reference OCR-A image")#添加参数-r/--reference,表示OCR-A字体的标准图片路径
args=vars(ap.parse_args())#将解析的参数保存到 args 变量中
#定义一个函数,用于将图片转换为灰度图像并进行二值化处理
def pre_process(image, inv=False):
gray=cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)#将图片转换为灰度图像
if inv:
gray=cv2.bitwise_not(gray)#取反,将黑色变为白色,将白色变为黑色
gray=cv2.GaussianBlur(gray, (5,5), 0)#高斯模糊
thresh=cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1]#OTSU二值化
return thresh
#读取输入图片和OCR-A标准图片
image=cv2.imread(args["image"])
ref=cv2.imread(args["reference"])
#将输入图片和标准图片转换为灰度图像并进行二值化处理
gray=pre_process(image, inv=True)
ref=pre_process(ref)
#计算输入图片和标准图片的轮廓
refCnts=cv2.findContours(ref.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
refCnts=imutils.grab_contours(refCnts)
refCnts=myutils.sort_contours(refCnts, method="left-to-right")[0]
cnts=cv2.findContours(gray.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts=imutils.grab_contours(cnts)
locs=[]
#遍历输入图片的轮廓,与标准图片的轮廓进行比较,得到每个字符的位置信息
for (i, c) in enumerate(cnts):
(x, y, w, h)=cv2.boundingRect(c)
ar=w/float(h)
if ar>2.5 and ar<4.0:
if (w>40 and w<55) and (h>10 and h<20):
locs.append((x, y, w, h))
#将字符位置按照从左到右的顺序排序
locs=sorted(locs, key=lambda x:x[0])
#遍历每个字符,将其与标准图片的字符进行比较,得到字符的值
output=[]
for (i, (gX, gY, gW, gH)) in enumerate(locs):
groupOutput=[]
group=[]
roi=gray[gY-5:gY+gH+5, gX-5:gX+gW+5]
roi=cv2.resize(roi, (57, 88))
#计算每个字符与标准字符的差异值
for (j, ref) in enumerate(refCnts):
#将字符缩放至相同尺寸
refROI=cv2.resize(ref, (int(gW*1.7), gH))
#计算字符间的差异值
score=cv2.matchShapes(refROI, roi, cv2.CONTOURS_MATCH_I1, 0.0)
group.append((score, j))
#将字符按照差异值从小到大排序
group=sorted(group, key=lambda x:x[0])
#选取差异值最小的字符作为预测字符
groupOutput.append(str(chr(65+group[0][1])))
#将字符按照从左到右的顺序组合在一起
output.extend(groupOutput)
#输出识别结果
print("".join(output))
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)