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

使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù)實例詳解

 更新時間:2021年03月06日 09:26:20   作者:陸言君的博客  
這篇文章主要介紹了使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

技術(shù)背景

對于各行各業(yè)的研究人員來說,經(jīng)常會面臨這樣的一個問題:有一篇不錯的文章里面有很好的數(shù)據(jù),但是這個數(shù)據(jù)在文章中僅以圖片的形式出現(xiàn)。而假如我們希望可以從該圖片中提取出數(shù)據(jù),這樣就可以用我們自己的形式重新來展現(xiàn)這些數(shù)據(jù),還可以額外再附上自己優(yōu)化后的數(shù)據(jù)。因此從論文圖片中提取數(shù)據(jù),是一個非常實際的需求。這里以前面寫的量子退火的博客為例,博客中有這樣的一張圖片:

在這篇文章中,我們將介紹如何使用python從圖片上把數(shù)據(jù)摳取出來。

plotdigitizer的安裝

這里我們使用pip來安裝python第三方庫plotdigitizer,該庫的主要功能就是可以自動化的從圖片中提取出數(shù)據(jù),我們可以使用騰訊的pip鏡像源來加速我們的安裝過程:

[dechin@dechin-manjaro plotdigitizer]$ python3 -m pip install -i https://mirrors.cloud.tencent.com/pypi/simple plotdigitizer
Looking in indexes: https://mirrors.cloud.tencent.com/pypi/simple
Collecting plotdigitizer
 Downloading https://mirrors.cloud.tencent.com/pypi/packages/89/bb/ff753093458c05ce3b52fd17527b6b0622ca096aadcf561c6316320ab793/plotdigitizer-0.1.3-py3-none-any.whl (20 kB)
Collecting loguru<0.6.0,>=0.5.3
 Downloading https://mirrors.cloud.tencent.com/pypi/packages/6d/48/0a7d5847e3de329f1d0134baf707b689700b53bd3066a5a8cfd94b3c9fc8/loguru-0.5.3-py3-none-any.whl (57 kB)
   |████████████████████████████████| 57 kB 521 kB/s 
Collecting opencv-python<5.0.0,>=4.5.1
 Downloading https://mirrors.cloud.tencent.com/pypi/packages/2a/9a/ff309b530ac1b029bfdb9af3a95eaff0f5f45f6a2dbe37b3454ae8412f4c/opencv_python-4.5.1.48-cp38-cp38-manylinux2014_x86_64.whl (50.4 MB)
   |████████████████████████████████| 50.4 MB 467 kB/s 
Collecting numpy<2.0.0,>=1.19.5
 Downloading https://mirrors.cloud.tencent.com/pypi/packages/c7/e6/dccac76b7e825915ffb906beeba5a953597b6cfe1fe686b5276e122cb07c/numpy-1.20.1-cp38-cp38-manylinux2010_x86_64.whl (15.4 MB)
   |████████████████████████████████| 15.4 MB 20.4 MB/s 
Collecting matplotlib<4.0.0,>=3.3.4
 Downloading https://mirrors.cloud.tencent.com/pypi/packages/ab/20/60cfe5d611ac86df07b7b1f9b9582f22f7eda5edbe2124ba85bdf3133822/matplotlib-3.3.4-cp38-cp38-manylinux1_x86_64.whl (11.6 MB)
   |████████████████████████████████| 11.6 MB 4.4 MB/s 
Requirement already satisfied: python-dateutil>=2.1 in /home/dechin/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.3.4->plotdigitizer) (2.8.1)
Requirement already satisfied: cycler>=0.10 in /home/dechin/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.3.4->plotdigitizer) (0.10.0)
Requirement already satisfied: pillow>=6.2.0 in /home/dechin/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.3.4->plotdigitizer) (8.0.1)
Requirement already satisfied: kiwisolver>=1.0.1 in /home/dechin/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.3.4->plotdigitizer) (1.3.0)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.3 in /home/dechin/anaconda3/lib/python3.8/site-packages (from matplotlib<4.0.0,>=3.3.4->plotdigitizer) (2.4.7)
Requirement already satisfied: six>=1.5 in /home/dechin/anaconda3/lib/python3.8/site-packages (from python-dateutil>=2.1->matplotlib<4.0.0,>=3.3.4->plotdigitizer) (1.15.0)
Installing collected packages: loguru, numpy, opencv-python, matplotlib, plotdigitizer
 Attempting uninstall: numpy
  Found existing installation: numpy 1.19.2
  Uninstalling numpy-1.19.2:
   Successfully uninstalled numpy-1.19.2
 Attempting uninstall: matplotlib
  Found existing installation: matplotlib 3.3.2
  Uninstalling matplotlib-3.3.2:
   Successfully uninstalled matplotlib-3.3.2
Successfully installed loguru-0.5.3 matplotlib-3.3.4 numpy-1.20.1 opencv-python-4.5.1.48 plotdigitizer-0.1.3

通過運行幫助指令,我們可以查看是否安裝成功:

[dechin@dechin-manjaro plotdigitizer]$ plotdigitizer -h
usage: plotdigitizer [-h] --data-point DATA_POINT [--location LOCATION] [--plot PLOT] [--output OUTPUT]
           [--preprocess] [--debug]
           INPUT

Digitize image.

positional arguments:
 INPUT         Input image file.

optional arguments:
 -h, --help      show this help message and exit
 --data-point DATA_POINT, -p DATA_POINT
            Datapoints (min 3 required). You have to click on them later. At least 3 points
            are recommended. e.g -p 0,0 -p 10,0 -p 0,1 Make sure that point are comma
            separated without any space.
 --location LOCATION, -l LOCATION
            Location of a points on figure in pixels (integer). These values should appear in
            the same order as -p option. If not given, you will be asked to click on the
            figure.
 --plot PLOT      Plot the final result. Requires matplotlib.
 --output OUTPUT, -o OUTPUT
            Name of the output file else trajectory will be written to <INPUT>.traj.csv
 --preprocess     Preprocess the image. Useful with bad resolution images.
 --debug        Enable debug logger

執(zhí)行指令與輸出圖片

先把需要摳取數(shù)據(jù)的圖片放到當(dāng)前目錄下,然后運行如下指令:

plotdigitizer ./test1.png -p 0,-1 -p 20,0 -p 0,0.1 --plot output.png

該指令會將test1.png中的數(shù)據(jù)提取出來,可以使用-o存儲為csv格式的數(shù)據(jù)表格。這里實際使用中我們發(fā)現(xiàn),即使不用plot指令,也會在Manjaro Linux系統(tǒng)下不斷的輸出打印圖片,只有通過kill -9的方式才能強行將進程殺死,有可能是開源庫中存在的某個bug。這里展示一下用新的數(shù)據(jù)繪制出來的效果圖:

執(zhí)行結(jié)束后,該圖片會被輸出到臨時文件夾tmp/plotdigitizer/下,但是注意前面產(chǎn)生的圖片會被后來的臨時文件所覆蓋。

總結(jié)概要

這里我們僅僅是介紹和演示了plotdigitizer的基本使用方法,這樣一個使用python制作的圖像數(shù)據(jù)工具更加符合pythoner的使用習(xí)慣和邏輯。雖然實際使用過程中工具可能出現(xiàn)各種各樣的問題,但是基本上是一個比較好的工具,值得推薦。

版權(quán)聲明

本文首發(fā)鏈接為:https://www.cnblogs.com/dechinphy/p/plotdigitizer.html
作者ID:DechinPhy
更多原著文章請參考:https://www.cnblogs.com/dechinphy/

到此這篇關(guān)于使用python模塊plotdigitizer摳取論文圖片中的數(shù)據(jù)的文章就介紹到這了,更多相關(guān)python模塊plotdigitizer內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中一行和多行import模塊問題

    Python中一行和多行import模塊問題

    我們通過本篇文章給大家分析了為什么Python不建議使用一行import所有模塊的原因,有興趣的朋友學(xué)習(xí)下。
    2018-04-04
  • python實現(xiàn)小球彈跳效果

    python實現(xiàn)小球彈跳效果

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)小球彈跳效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python基礎(chǔ)Lists和tuple實例詳解

    Python基礎(chǔ)Lists和tuple實例詳解

    這篇文章主要為大家介紹了Python基礎(chǔ)Lists和tuple實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 徹底解決Python包下載慢問題

    徹底解決Python包下載慢問題

    這篇文章主要介紹了徹底解決Python包下載慢問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python Pandas中根據(jù)列的值選取多行數(shù)據(jù)

    Python Pandas中根據(jù)列的值選取多行數(shù)據(jù)

    這篇文章主要介紹了Python Pandas中根據(jù)列的值選取多行數(shù)據(jù)的實例代碼,本文通過實例代碼給大家介紹的非常詳細(xì) ,需要的朋友可以參考下
    2019-07-07
  • Windows下將Python文件打包成.EXE可執(zhí)行文件的方法

    Windows下將Python文件打包成.EXE可執(zhí)行文件的方法

    這篇文章主要介紹了Windows下將Python文件打包成.EXE可執(zhí)行文件的方法,需要的朋友可以參考下
    2018-08-08
  • PPOCRLabel標(biāo)注的txt格式如何轉(zhuǎn)換成labelme能修改的json格式

    PPOCRLabel標(biāo)注的txt格式如何轉(zhuǎn)換成labelme能修改的json格式

    這篇文章主要介紹了PPOCRLabel標(biāo)注的txt格式如何轉(zhuǎn)換成labelme能修改的json格式問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python實現(xiàn)代碼統(tǒng)計器

    python實現(xiàn)代碼統(tǒng)計器

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)代碼統(tǒng)計器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • pyecharts在數(shù)據(jù)可視化中的應(yīng)用詳解

    pyecharts在數(shù)據(jù)可視化中的應(yīng)用詳解

    這篇文章主要介紹了pyecharts在數(shù)據(jù)可視化中的應(yīng)用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python分布式庫celery處理大規(guī)模的任務(wù)并行化

    python分布式庫celery處理大規(guī)模的任務(wù)并行化

    Python中的分布式任務(wù)隊列時,Celery是一個備受推崇的工具,它是一個功能強大的分布式系統(tǒng),可用于處理大規(guī)模的任務(wù)并行化,本文將介紹Celery的基本概念、用法和示例代碼,幫助讀者更好地了解和使用這個庫
    2024-01-01

最新評論