在10分鐘內將您的OpenCV程式碼轉換為Web API
阿新 • • 發佈:2018-12-17
文章主要內容就是說在pythonanywhere上註冊個賬號,在上面建立一個application,寫好程式,儲存後就可以通過網頁訪問程式就可以了,實現webAPI的功能。還有點意思,這只是很簡單的例子,熟悉以後可以自己想著做些東西,把自己的程式碼放到伺服器上,隨時呼叫,多好玩啊 !
廢話不多說了,上正文:
1.註冊pythonanywhere賬號,點選網址:
2.進入賬號後點擊web選項,然後點選Add a new web app
3.選擇web2py作為python 框架
4.點選admin,設定密碼,進入賬戶
(這是web2py的密碼,不是pythonanywhere的,你也可以設定成一個)
5.賬戶登入完畢,現在建立一個應用opencvtests
6.如果一切正常,那麼建立完成返回pythonanywhere介面,在Files下面,web2py下看到你建立的應用名
7.按照目錄進入default.py程式,新增測試程式碼,儲存,確認沒有錯誤
import cv2 import numpy as np import urllib2 import json def image_dimensions(): hdr = {'User-agent':'Mozilla/5.0'} req = urllib2.Request(request.vars.url,headers=hdr) try: con = urllib2.urlopen(req) im_array = np.asarray(bytearray(con.read()),dtype=np.uint8) im = cv2.imdecode(im_array,cv2.IMREAD_GRAYSCALE) height,width = im.shape return json.dumps({"wight_kuan": width,"height_gao":height}) except urllib2.HTTPError as e: return e.fp.read()
8.測試,開啟cmd複製以下程式碼
#替換圖片地址和你的伺服器名字
curl -F url=http://example.com/image.jpg http://username.pythonanywhere.com/appname/default/image_dimensions
下面是一個例子(對於圖片的網址有要求,像維基百科這類安全的網址應該是沒有問題的):
或者開啟瀏覽器,在網址一欄中貼上下面的程式碼
親測可行~