欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年07月12日 15:18:32   作者:IG.xiaoyu  
這篇文章主要介紹了淺談Python 命令行參數(shù)argparse寫入圖片路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

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

并非所有程序都有命令行參數(shù),因為并非所有程序都需要它們。

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

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

這允許我們在不改變代碼的情況下動態(tài)地為我們的程序提供不同的輸入 。

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

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

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

我們在第2行導入 argparse - 這是幫助我們解析和訪問命令行參數(shù)的包。

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

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

在第7行,我們將ArgumentParser 對象實例化為 ap 。

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

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

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

簡單吧?

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

在第18-20行,我們完成了三項操作:

將圖像轉換 為灰度。

模糊灰度圖像。

閾值模糊圖像。

我們準備找到并繪制形狀輪廓:

在第23-25行,我們在閾值圖像中找到形狀輪廓 。

從那里,我們在輸入圖像上繪制輪廓(第28和29行)。

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

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

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

附完整代碼

Codeblock #1: Lines 1-20# import the necessary packages
import argparse
import imutils
import cv2
 
# construct the argument parser and parse the arguments
ap = 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 disk
image = cv2.imread(args["input"])
 
# convert the image to grayscale, blur it, and threshold it
gray = 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 image
cnts = 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 image
for c in cnts:
	cv2.drawContours(image, [c], -1, (0, 0, 255), 2)
 
# display the total number of shapes on the image
text = "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 disk
cv2.imwrite(args["output"], image)
$ python shape_counter.py --input input_01.png --output output_01.png

以上這篇淺談Python 命令行參數(shù)argparse寫入圖片路徑操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python 字典與字符串的互轉實例

    Python 字典與字符串的互轉實例

    下面小編就為大家?guī)硪黄狿ython 字典與字符串的互轉實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 關于Python中函數(shù)的幾種形參

    關于Python中函數(shù)的幾種形參

    這篇文章主要介紹了關于Python中函數(shù)的幾種形參,python中函數(shù)是非常重要的一個知識點,想要把函數(shù)學習好,就必須要把函數(shù)的參數(shù)學習好,這樣才能夠進行很好的傳遞參數(shù),發(fā)揮出應有的作用,需要的朋友可以參考下
    2023-08-08
  • Python3.5.3下配置opencv3.2.0的操作方法

    Python3.5.3下配置opencv3.2.0的操作方法

    下面小編就為大家分享一篇Python3.5.3下配置opencv3.2.0的操作方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 用pushplus+python監(jiān)控亞馬遜到貨動態(tài)推送微信

    用pushplus+python監(jiān)控亞馬遜到貨動態(tài)推送微信

    這篇文章主要介紹了用pushplus+python監(jiān)控亞馬遜到貨動態(tài)推送微信的示例,幫助大家利用python搶購商品,感興趣的朋友可以了解下
    2021-01-01
  • python實現(xiàn)時間序列自相關圖(acf)、偏自相關圖(pacf)教程

    python實現(xiàn)時間序列自相關圖(acf)、偏自相關圖(pacf)教程

    這篇文章主要介紹了python實現(xiàn)時間序列自相關圖(acf)、偏自相關圖(pacf)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python實現(xiàn)的web監(jiān)控系統(tǒng)

    python實現(xiàn)的web監(jiān)控系統(tǒng)

    這篇文章主要介紹了python實現(xiàn)的web監(jiān)控系統(tǒng),幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04
  • Flask框架debug與配置項的開啟與設置詳解

    Flask框架debug與配置項的開啟與設置詳解

    這篇文章主要介紹了Flask框架debug與配置項的開啟與設置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-09-09
  • 進一步了解Python中的XML 工具

    進一步了解Python中的XML 工具

    這篇文章主要介紹了更為深入的的Python中的XML工具,本文來自于IBM官方開發(fā)者技術文檔,需要的朋友可以參考下
    2015-04-04
  • Python工具腳本調用外層模塊的操作方法

    Python工具腳本調用外層模塊的操作方法

    今天有同學問我,這種情況應該怎么調用,才能讓remove_outdated_data.py正確導入models里面的模塊,下面通過本文介紹下Python工具腳本調用外層模塊的方法,感興趣的朋友一起看看吧
    2024-02-02
  • 解決python super()調用多重繼承函數(shù)的問題

    解決python super()調用多重繼承函數(shù)的問題

    今天小編就為大家分享一篇解決python super()調用多重繼承函數(shù)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評論