亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

淺談Python 命令行參數(shù)argparse寫(xiě)入圖片路徑操作

瀏覽:2日期:2022-07-17 18:06:18

什么是命令行參數(shù)?

命令行參數(shù)是在運(yùn)行時(shí)給予程序/腳本的標(biāo)志。它們包含我們程序的附加信息,以便它可以執(zhí)行。

并非所有程序都有命令行參數(shù),因?yàn)椴⒎撬谐绦蚨夹枰鼈儭?/p>

為什么我們使用命令行參數(shù)?

如上所述,命令行參數(shù)在運(yùn)行時(shí)為程序提供附加信息。

這允許我們?cè)诓桓淖兇a的情況下動(dòng)態(tài)地為我們的程序提供不同的輸入 。

您可以繪制命令行參數(shù)類(lèi)似于函數(shù)參數(shù)的類(lèi)比。如果你知道如何在各種編程語(yǔ)言中聲明和調(diào)用函數(shù),那么當(dāng)你發(fā)現(xiàn)如何使用命令行參數(shù)時(shí),你會(huì)立刻感到賓至如歸。

鑒于這是計(jì)算機(jī)視覺(jué)和圖像處理博客,您在這里看到的很多參數(shù)都是圖像路徑或視頻路徑。

那么讓我們創(chuàng)建一個(gè)名為shape_counter .py的新文件并開(kāi)始編碼:

淺談Python 命令行參數(shù)argparse寫(xiě)入圖片路徑操作

我們?cè)诘?行導(dǎo)入 argparse - 這是幫助我們解析和訪(fǎng)問(wèn)命令行參數(shù)的包。

然后,在第7-12行,我們解析兩個(gè)命令行參數(shù)。代碼在這些行上非常易讀,您可以看到如何格式化參數(shù)。

我們以 -input 參數(shù)為例。

在第7行,我們將ArgumentParser 對(duì)象實(shí)例化為 ap 。

然后在第8行和第9行我們添加我們的 - input 參數(shù)。我們必須指定速記和長(zhǎng)版本( - i 和 - input ),其中任何一個(gè)標(biāo)志都可以在命令行中使用。這是必需的參數(shù),如 required = True所示。如上所示, 幫助字符串將在終端中提供附加信息。

類(lèi)似地,在第10行和第11行,我們指定了 -input 參數(shù),這也是必需的。

從那里我們使用路徑加載圖像。請(qǐng)記住,輸入圖像路徑包含在 args [ “input” ]中 ,因此這是cv2的參數(shù) imread 。

簡(jiǎn)單吧?

其余的行是特定于圖像處理的——

在第18-20行,我們完成了三項(xiàng)操作:

將圖像轉(zhuǎn)換 為灰度。

模糊灰度圖像。

閾值模糊圖像。

我們準(zhǔn)備找到并繪制形狀輪廓:

淺談Python 命令行參數(shù)argparse寫(xiě)入圖片路徑操作

在第23-25行,我們?cè)陂撝祱D像中找到形狀輪廓 。

從那里,我們?cè)谳斎雸D像上繪制輪廓(第28和29行)。

然后我們?cè)趫D像上組裝并放置文本(第32-34行)。文本包含形狀的總數(shù)。

最后,我們利用我們的 -input 圖像路徑參數(shù)將圖像寫(xiě)入到磁盤(pán)中的 cv2.imwrite (第37行)。

讓我們用兩個(gè)參數(shù)執(zhí)行命令:

淺談Python 命令行參數(shù)argparse寫(xiě)入圖片路徑操作

附完整代碼

Codeblock #1: Lines 1-20# import the necessary packagesimport argparseimport imutilsimport cv2 # construct the argument parser and parse the argumentsap = argparse.ArgumentParser()ap.add_argument('-i', '--input', required=True,help='path to input image')ap.add_argument('-o', '--output', required=True,help='path to output image')args = vars(ap.parse_args()) # load the input image from diskimage = cv2.imread(args['input']) # convert the image to grayscale, blur it, and threshold itgray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)blurred = cv2.GaussianBlur(gray, (5,5), 0)thresh = cv2.threshold(blurred, 60, 255, cv2.THRESH_BINARY)[1]# extract contours from the imagecnts = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)cnts = cnts[0] if imutils.is_cv2() else cnts[1] # loop over the contours and draw them on the input imagefor c in cnts:cv2.drawContours(image, [c], -1, (0, 0, 255), 2) # display the total number of shapes on the imagetext = 'I found {} total shapes'.format(len(cnts))cv2.putText(image, text, (10, 20), cv2.FONT_HERSHEY_SIMPLEX, 0.5,(0, 0, 255), 2) # write the output image to diskcv2.imwrite(args['output'], image)$ python shape_counter.py --input input_01.png --output output_01.png

以上這篇淺談Python 命令行參數(shù)argparse寫(xiě)入圖片路徑操作就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 国产精品久久一区 | 日韩免费三级 | 欧美日韩一区二区在线观看视频 | 色视频免费国产观看 | 国产综合第一页在线视频 | 图片综合区 | 国产性精品 | 成人免费无毒在线观看网站 | 免费视频观看在线www日本 | 三级黄色毛片视频 | 国产caoni111在线观看视频 | 亚洲 欧美 国产 制服 动漫 | 久久免费99精品国产自在现线 | 异族中国vs黑人 | 久久综合给合久久狠狠狠97色69 | 国产一区二区三区日韩欧美 | 中国黄色在线观看 | 国产永久一区二区三区 | 黄色毛片在线播放 | 国产一线视频在线观看高清 | 另类bdsm欧美变态 | 欧美一级高清免费a | 久久综合狠狠综合久久 | 亚洲人人在线 | a级做爰毛片视频免费看 | 免费日比视频 | 免费精品99久久国产综合精品 | a色毛片免费视频 | 久久精品亚洲热综合一本奇米 | 国产成在线观看免费视频成本人 | 91精品国产综合久久久久久 | 亚洲视频欧洲视频 | 国产秦先生大战白丝97在线 | 久久成人激情视频 | 亚洲综合色婷婷久久 | 亚洲欧美啪啪 | 日本国产最新一区二区三区 | 91碰碰视频 | 日本特级爽毛片叫声 | 日韩免费一区二区 | 国产成人高清在线 |