国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用Python和OpenCV庫將URL轉換為OpenCV格式的方法

2020-02-23 00:27:13
字體:
來源:轉載
供稿:網友

2015327143841977.jpg (690×553)

今天的博客是直接來源于我自己的個人工具函數庫。

過去幾個月,有些PyImageSearch讀者電郵問我:“如何獲取URL指向的圖片并將其轉換成OpenCV格式(不用將其寫入磁盤再讀回)”。這篇文章我將展示一下怎么實現這個功能。

額外的,我們也會看到如何利用scikit-image從URL下載一幅圖像。當然前行之路也會有一個常見的錯誤,它可能讓你跌個跟頭。

繼續往下閱讀,學習如何利用利用Python和OpenCV將URL轉換為圖像


方法1:OpenCV、NumPy、urllib

第一個方法:我們使用OpenCV、NumPy、urllib庫從URL獲取圖像,并將其轉換為圖像。打開并新建一個文件,取名url_to_image.py,我們開始吧:

# import the necessary packagesimport numpy as npimport urllibimport cv2 # METHOD #1: OpenCV, NumPy, and urllibdef url_to_image(url):  # download the image, convert it to a NumPy array, and then read  # it into OpenCV format  resp = urllib.urlopen(url)  image = np.asarray(bytearray(resp.read()), dtype="uint8")  image = cv2.imdecode(image, cv2.IMREAD_COLOR)   # return the image  return image

首先要做的就是導入我們必需的包。我們將使用NumPy轉換下載的字節序為NumPy數組,使用urllib來執行實際的網絡請求,使用cv2來綁定OpenCV接口。
在第7行,我們定義了我們的url_to_image函數。這個函數帶一個url參數,也就是我們想要下載的圖像地址。

接下來,在第10行,我們使用urllib庫來打開這個圖像鏈接。11行則將這個下載下來的字節序轉換為NumPy數組。

至此,NumPy數組還是一個1維數組(也就是一個長長的像素鏈表)。為了將其轉換為2維格式,假設每個像素3個通道(意即分別為紅,綠,藍通道),在12行我們使用cv.imdecode函數。最后,在15行我們返回解碼出來的圖像給調用函數。

一切就緒,該到讓它工作的時候了:

# initialize the list of image URLs to downloadurls = [  "http://www.pyimagesearch.com/wp-content/uploads/2015/01/opencv_logo.png",  "http://www.pyimagesearch.com/wp-content/uploads/2015/01/google_logo.png",  "http://www.pyimagesearch.com/wp-content/uploads/2014/12/adrian_face_detection_sidebar.png",] # loop over the image URLsfor url in urls:  # download the image URL and display it  print "downloading %s" % (url)  image = url_to_image(url)  cv2.imshow("Image", image)  cv2.waitKey(0)

3-5行定義了我們將要下載和轉換為OpenCV格式的圖像地址列表。

第9行我們遍歷這個列表,13行則調用url_to_image函數,然后在14行和15行將獲取的圖像顯示到屏幕上。到此呢,我們就可以像正常情況下一樣,使用OpenCV來操作和處理這些圖像了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 锦州市| 长汀县| 金沙县| 衡阳市| 台东县| 平果县| 麦盖提县| 白朗县| 富顺县| 郯城县| 隆林| 郑州市| 灵石县| 辽阳县| 商河县| 皋兰县| 临猗县| 城市| 贵德县| 宜兰县| 长顺县| 郎溪县| 榆社县| 勃利县| 乐至县| 阜阳市| 灵武市| 九江县| 廊坊市| 延津县| 柘城县| 麻江县| 长兴县| 界首市| 怀来县| 额敏县| 大安市| 临夏市| 东宁县| 延吉市| 堆龙德庆县|