1. 程式人生 > >在10分鐘內將您的OpenCV程式碼轉換為Web API

在10分鐘內將您的OpenCV程式碼轉換為Web API

文章主要內容就是說在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

下面是一個例子(對於圖片的網址有要求,像維基百科這類安全的網址應該是沒有問題的):

或者開啟瀏覽器,在網址一欄中貼上下面的程式碼

親測可行~