gpt4 book ai didi

python - 在命令行上编写函数和运行程序

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:47 25 4
gpt4 key购买 nike

我正在解决我需要解决的问题之一:

  • 从文件夹中读取所有图像,它接受除 PDF 以外的所有图像格式。
  • 查找轮廓并将所有轮廓图像写入指定的输出文件夹。
  • 在filename下创建子文件夹,将分割后的图片写入相关文件夹。

我已经用 python 编写了它的程序,但现在我在为每个问题点编写函数并使用命令行执行程序时遇到了问题。

基本上我必须编写通用代码,以便将来如果我得到新图像,我不需要更改代码(这意味着它应该在 python 文件中的命令控制台上请求输入文件,那里会有通用代码适用于任何文件)。

import cv2
import numpy as np
import os

os.getcwd()

os.chdir("C:/Users/ani/Downloads/Assignment")

# variable

filename = "1 (103)_A_0_0_NAME"

# create a folder for this image

path = "C:/Users/ani/Desktop//"+filename

if not os.path.exists(path):

os.makedirs(path)


# load image in grayscale

img = cv2.imread(filename+".jpg",0)

# threshold image

ret,mask = cv2.threshold(img,240,255,cv2.THRESH_BINARY_INV)

# find contours

contours, hier = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# sort contours

sorted_ctrs = sorted(contours, key=lambda ctr: cv2.boundingRect(ctr)[0])

for i in range(len(sorted_ctrs)):

# get contour

cnt = sorted_ctrs[i]

# get the dimensions of the boundingRect

x,y,w,h = cv2.boundingRect(cnt)

# create a subimage based on boundingRect

sub_img = img[y:y+h,x:x+w]

sub_img = ~sub_img

# save image of contour with indexed name

cv2.imwrite(path +"\contour_"+str(i)+".jpg", sub_img)

我想要一个通用代码,它在命令提示符下输入图像文件,这基本上意味着一个 python 函数代码文件,它执行所有 3 个步骤而不指定程序文件中的输入文件位置。 (附加输入文件)

第一:

enter image description here

第二个:

enter image description here

第三:

enter image description here

最佳答案

您似乎想知道“How to read/process command line arguments?”。请参阅链接以获得更详细的答案,但简而言之 - 使用 sys.argv 访问这些链接:

import sys
print(sys.argv[1:])

关于python - 在命令行上编写函数和运行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55687273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com