整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          干貨整理!10個Python圖像處理工具,入門必看,

          干貨整理!10個Python圖像處理工具,入門必看,提效大法 - 資源

          作:Parul Pandey

          銅靈 編譯整理

          量子位 出品 | 公眾號 QbitAI

          在圖像處理領域,一庫在手,相當于天下已有。

          最近,有一位搞數據科學的小姐姐Parul Pandey,整理了一份實用Python圖像處理工具,內含十大經典Python庫。


          這份資源中的工具可用于圖像處理中的常見任務,包括裁剪、翻轉、旋轉、圖像分割、分類和特征提取、圖像恢復和圖像識別等。可謂干貨滿滿,圖像處理提升效率必備。

          量子位取其重點,將文章翻譯整理如下:


          1、scikit Image

          scikit-image是一個與numpy數組配合使用的開源Python包,在學術研究、教育和行業領域都可應用。

          即使是那些剛接觸Python生態系統的人,也會覺得這是一個相當簡單直接的庫。

          通過這個包能完成很多任務,比如圖像過濾:




          使用match_template 函數進行模板匹配:



          官方地址:

          https://scikit-image.org/

          用戶指南:

          https://scikit-image.org/docs/stable/user_guide.html

          2、Numpy

          Numpy是Python的核心庫之一,也能支持數組,圖像本質上是包含數據點像素的標準Numpy數組。

          因此,通過基本的NumPy操作,可以修改圖像的像素值。

          也可以使用skimage加載圖像并用matplotlib顯示。

          使用方法也和簡單,比如需要mask一張圖像時:




          官方地址:

          http://www.numpy.org/

          3. Scipy

          scipy是Python中另一個核心模塊,可用于基本的圖像操作和處理任務。

          特別需要注意的是,子模塊scipy.ndimage提供在n維NumPy數組上運行的功能。這個包目前包括線性和非線性濾波器、二元形態、B-spline插值和物體測量等功能。

          可以用高斯過濾用Scipy模糊高斯濾波器:




          官方資料:

          https://docs.scipy.org/doc/scipy/reference/tutorial/ndimage.html#correlation-and-convolution

          4、PIL/ Pillow

          PIL(Python Imaging Library)是一個免費的Python編程語言庫,它增加了對打開,操作和保存不同圖像文件格式的支持。然而,它的發展停滯不前,最后一次更新還是在2009年。

          其分支Pillow更易于安裝,在所有主要操作系統上運行并支持Python 3。這個庫包含基本的圖像處理功能,包括點操作、使用一組內置卷積核濾波及顏色空間轉換。

          當用ImageFilter增強Pillow中的圖像時,操作是這樣的:




          官方介紹:

          https://pillow.readthedocs.io/en/3.1.x/index.html

          5、OpenCV-Python

          OpenCV是計算機視覺應用中使用最廣泛的庫之一,OpenCV-Python是OpenCV的python API。

          總體來說,因為后臺由用C / C ++編寫,因此OpenCV-Python不僅速度快,也易于編程和部署。

          這使其成為執行計算密集型視覺程序的絕佳選擇。

          來看一下用例,下圖展示的是OpenCV-Python在Image Blending中使用Pyramids創建一個名為’Orapple’的新水果的功能。



          上手指南:

          https://github.com/abidrahmank/OpenCV2-Python-Tutorials

          6、SimpleCV

          SimpleCV也是廣泛被使用的構建計算機視覺應用程序的開源框架。

          手握SimpleCV,你可以訪問幾個高性能的視覺庫,而無需先了解圖像色深(bit depth)、文件格式、色彩空間等。

          SimpleCV擁護者的支持理由有兩個,一是初學者也可以借此編寫簡單的視覺任務,二是無論是相機、視頻文件、圖像和視頻流可互相操作。



          用戶指南:

          https://simplecv.readthedocs.io/en/latest/

          7、Mahotas

          Mahotas包含傳統的圖像處理功能,如濾波和圖像形態學處理,以及用于特征計算,比如興趣點檢測和局部描述子等。

          這個庫適用于快速開發,算法是用C++實現的,并且針對速度進行了調整。



          官方地址:

          https://mahotas.readthedocs.io/en/latest/

          用戶指南:

          https://mahotas.readthedocs.io/en/latest/index.html

          8、 SimpleITK

          ITK是一個開源的跨平臺系統,提供一整套用于圖像分析的軟件工具。

          其中,SimpleITK是一個建立在ITK之上的簡化層,促進其在簡化原型、教育和解釋語言中的應用。

          SimpleITK是一個圖像分析工具包,內含大量組件,支持一般濾波操作、圖像分割和圖形配準。

          SimpleITK本身是用C++編寫的,但也適用于包括Python在內的大量編程語言。

          下面就是用SimpleITK和Python創建的可視化的CT/MR圖:



          官方地址:

          https://itk.org/

          學習資料:

          http://insightsoftwareconsortium.github.io/SimpleITK-Notebooks/

          9、GraphicsMagick

          GraphicsMagick號稱圖像處理領域的瑞士軍刀。 代碼短小卻提供了一個魯棒、高效的工具和庫集合,可用來處理圖像的讀取、寫入和操作。

          支持超過88種圖像格式,包括重要的DPX、GIF、JPEG、JPEG-2000、PNG、PDF、PNM和TIFF。

          將它用于圖像邊緣提取任務,效果如下:



          官方資料:

          https://pypi.org/project/pgmagick/

          相關資源:

          https://github.com/hhatto/pgmagick

          10、Pycairo

          pyCairo是一個Python的2D圖形渲染庫,可用于繪制矢量圖形的2D圖形,在調整大小或變換時不會丟失清晰度。

          下面這個用例是用Pycairo繪制線條、基本形狀和徑向梯度。



          官方介紹:

          https://cairographics.org/

          相關資源:

          https://github.com/pygobject/pycairo

          傳送門

          博客原文地址(需要科學前往):

          https://towardsdatascience.com/image-manipulation-tools-for-python-6eb0908ed61f

          文章下載地址:

          https://pan.baidu.com/s/1FDlji1zJIVeoSPQ89WVfMw

          — 完 —

          誠摯招聘

          量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復“招聘”兩個字。

          量子位 QbitAI · 頭條號簽約作者

          ?'?' ? 追蹤AI技術和產品新動態

          為一名資深程序員,我想和大家分享一下在網站文章采集方面的經驗和技巧。在這個信息爆炸的時代,獲取有價值的文章資源對于我們來說非常重要。下面是我總結的一些步驟和注意事項:1. 選擇合適的采集工具:根據自己的需求和技術水平,選擇一個適合你的網站文章采集工具。市面上有很多選擇,比如Scrapy、BeautifulSoup等。2. 分析目標網站結構:在開始采集之前,先對目標網站的結構進行分析。了解目標網站的HTML結構、CSS選擇器和API接口等信息,這有助于你編寫采集代碼。3. 編寫采集代碼:根據目標網站的結構和分析結果,開始編寫采集代碼。可以使用Python、Java、PHP等編程語言來實現采集功能。在編寫代碼時,要注意處理異常情況和錯誤信息,保證采集過程的穩定性。4. 設置合理的請求頻率:在進行網站文章采集時,要設置合理的請求頻率。

          過于頻繁的請求可能會對目標網站造成負擔,并且容易被網站屏蔽。根據目標網站的規則和要求,設置一個合理的請求間隔時間是非常重要的。5. 處理反爬機制:很多網站都有反爬機制,為了防止被采集,它們會對常見的爬蟲行為進行檢測和限制。所以,在進行網站文章采集時,需要處理這些反爬機制。可以通過設置User-Agent、使用代理IP等方式來規避反爬措施。6. 數據清洗與存儲:完成網站文章采集后,還需要對采集到的數據進行清洗和存儲。清洗數據可以去除HTML標簽、過濾無用信息等,使得數據更加規整和可讀。存儲數據可以選擇使用數據庫、文件或者云存儲等方式。7. 定期更新采集代碼:隨著目標網站的更新和變化,采集代碼也需要進行相應的更新。定期檢查和更新采集代碼是保持采集效果穩定的關鍵。8. 注意法律和道德問題:在進行網站文章采集時,要注意遵守相關的法律法規和道德規范。

          尊重他人的權益和隱私是我們作為采集人員應該遵循的原則。9. 分享和交流經驗:最后,我鼓勵大家積極分享和交流自己在網站文章采集方面的經驗和技巧。互相學習和進步,共同推動這個領域的發展。希望以上的經驗和技巧對大家有所幫助!作為一名網站文章采集者,持續學習和改進是非常重要的。我們可以積極參與相關社區和論壇,與其他采集者分享經驗,交流技巧。這樣不僅可以提升自己的技術水平,還能從他人的經驗中獲得啟發。在這個信息時代中,網站的結構和技術都在不斷發展變化,因此我們需要不斷學習新的技術和方法。同時,也要對采集代碼進行優化和改進,以提高采集效果。希望我能夠通過分享對大家在網站文章采集方面有所幫助。只有不斷學習和實踐,我們才能更好地利用網絡資源。加油!

          用戶在 HTML 表單中填寫并提交數據時,可以使用 PHP 來接收并處理這些數據。要實現這一點,需要創建一個 PHP 腳本來處理提交的數據,然后將 HTML 表單的 "action" 屬性設置為該腳本的文件路徑。表單提交的數據需要進行驗證和過濾,以確保數據的完整性和安全性。可以使用條件語句、正則表達式、過濾器函數等方法來驗證和過濾數據,并使用 htmlspecialchars() 函數轉義 HTML 標記,以防止 XSS 攻擊。

          以下是一個簡單的示例:

          HTML 表單代碼:

          <form action="submit.php" method="post">

          <label for="name">Name:</label>

          <input type="text" id="name" name="name">

          <label for="email">Email:</label>

          <input type="email" id="email" name="email">

          <button type="submit">Submit</button>

          </form>

          PHP 代碼(submit.php):

          <?php

          // 獲取表單提交的數據

          $name=$_POST['name'];

          $email=$_POST['email'];

          // 在這里進行處理,例如將數據存儲到數據庫中

          // ...

          // 返回一個響應,告訴用戶數據已經被成功提交

          echo "Thank you for submitting the form, $name!";

          ?>

          在上面的示例中,表單的 "action" 屬性設置為 "submit.php",這意味著提交表單時,數據將被發送到 submit.php 文件中的 PHP 代碼中進行處理。PHP 代碼使用 $_POST 數組來獲取表單提交的數據,然后進行處理,例如將數據存儲到數據庫中。最后,PHP 代碼返回一個響應,告訴用戶數據已經被成功提交。在處理表單數據時,一定要對用戶輸入進行驗證和過濾,以防止安全漏洞。

          需要對表單提交的數據進行驗證和過濾,以確保數據的完整性和安全性。以下是一些常見的方法:

          1、驗證表單字段:在 PHP 代碼中使用條件語句和正則表達式等方法來驗證表單字段的有效性,例如驗證電子郵件地址的格式是否正確。

          $email=$_POST['email'];

          if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

          // 如果郵件地址格式不正確,則顯示錯誤消息

          echo "Invalid email address";

          }

          2、過濾輸入數據:使用 PHP 中的過濾器函數來過濾表單輸入數據,以防止 XSS 攻擊和 SQL 注入等安全漏洞。

          $name=$_POST['name'];

          $name=filter_var($name, FILTER_SANITIZE_STRING); // 過濾特殊字符和標簽

          3、防止跨站腳本攻擊(XSS):在 PHP 代碼中使用 htmlspecialchars() 函數來轉義 HTML 標記,防止惡意腳本注入到頁面中。

          $name=$_POST['name'];

          $name=htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); // 轉義 HTML 標記

          4、防止 SQL 注入攻擊:在 PHP 代碼中使用參數化查詢或準備語句來執行數據庫操作,以防止惡意 SQL 語句注入到數據庫中。

          $stmt=$pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");

          $stmt->bindParam(':name', $name);

          $stmt->bindParam(':email', $email);

          $stmt->execute();

          通過這些方法,可以確保表單提交的數據是安全和有效的,并且能夠正常地處理和存儲到數據庫中。


          主站蜘蛛池模板: 亚洲AV综合色区无码一区| 亚洲人成网站18禁止一区| 国产精品福利区一区二区三区四区 | 亚洲AV无码一区二区二三区入口 | 精品一区二区三区免费观看| 成人免费视频一区| 亚洲一区二区三区四区视频 | 日本一区二三区好的精华液| 日韩人妻无码一区二区三区99| 香蕉视频一区二区三区| 女人18毛片a级毛片一区二区| 亚洲一区二区三区亚瑟| 亚洲国产精品第一区二区| 国产亚洲综合一区柠檬导航| 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲熟妇成人精品一区| 日韩一区二区三区无码影院| 日本免费电影一区二区| 国产成人一区二区三区在线| 三上悠亚亚洲一区高清| 一本大道东京热无码一区| asmr国产一区在线| 成人乱码一区二区三区av| 国产天堂一区二区综合| 国产成人精品一区二区三区无码 | 无码国产亚洲日韩国精品视频一区二区三区| 色综合视频一区中文字幕| 成人免费视频一区| 一区二区三区免费在线观看| 久久成人国产精品一区二区| 国产午夜精品一区二区| 国内偷窥一区二区三区视频| 老熟女五十路乱子交尾中出一区 | 波多野结衣的AV一区二区三区| 久久毛片免费看一区二区三区| 国产一区二区四区在线观看| 2022年亚洲午夜一区二区福利| 亚洲综合av一区二区三区| 国产一区二区三区免费在线观看 | 中文字幕乱码人妻一区二区三区| 中文字幕乱码人妻一区二区三区 |