2014-09-26 74 views
-1

我是Azure的新手,但已經安裝了運行Ubuntu 12.04和OpenCV的8核機器。另外,我有一個可執行文件(C++),它接收一個圖像作爲參數,並在終端上打印結果(如果在圖像中找到或不存在對象)。在雲計算機上運行OpenCV代碼[Azure]

所以,我需要的是從我的筆記本電腦調用這個可執行文件到另一個C++代碼。基本上說,我需要在我的筆記本上運行一個程序,調用Azure上的另一個程序,傳遞一個圖像作爲參數。我在這方面沒有太多經驗,所以所有的幫助都是值得歡迎的。我聽說我需要使用Python來做到這一點,那麼它將如何呢?爲什麼?

謝謝!

+0

至少你可以評論答案... – 2014-09-30 21:11:48

回答

1

你可以用你想要的任何語言來做到這一點。讓2臺機器通過互聯網「交談」的答案總是套接字,無法以其他方式完成。

如果我是你,我會做這種方式:

在Azure中的程序偵聽的端口(服務器),當你想讓你的筆記本電腦軟件處理圖像,該軟件將連接到該端口併發送圖像,然後服務器將使用OpenCV處理它,並在需要時將結果返回給客戶端。

其他方式可以是服務器軟件查詢數據庫或尋找一個目錄,如果每X秒都有新圖像,並且客戶端軟件將上傳到該目錄中,則圖像通過ftp或scp(更安全)或其他方式。這種方式將更難以檢索結果。

現在,您需要了解語言編程以開發此功能。

+0

感謝您的回答。好的,我會嘗試使用套接字,但是我必須使用端口與Azure進行通信嗎?與端點有關的東西?如前所述,我對此沒有太多經驗,所以對主題的任何幫助或指導都會很好。還有一件事..我只能在C++和端口/通信故障只在網絡配置中做到這一點? – Thigoo 2014-10-10 15:07:10

+0

只要您可以運行自己的軟件,您可以在任何服務器,虛擬服務器,專用服務器,任何服務器上執行此操作。簡單地說,你必須用任何語言創建一個服務器(由於其性能,C++是一個不錯的選擇,但由於缺乏知識是一個不好的選擇,因爲它是時下最困難的編程語言之一)。你必須自己編寫代碼或者搜索大量的框架,但是儘管你搜索了你必須編寫的框架來實現它們,所以我會自己編寫代碼,因爲服務器編程起來非常簡單。另外,我會選擇node.js ... – 2014-10-11 02:14:43

+0

...因爲它的多功能性。您可以在不需要重新編譯腳本的情況下編輯腳本,而且有關變量的知識更容易理解,因此您的代碼不太可能失敗。在Azure中,端點只是打開端口。由於程序監聽Azure服務器中的端口時的安全性,因此如果您未打開端口,則無法從外部訪問它,但必須對所有「客戶端<->服務器」通信進行編碼。如果你沒有經驗,這不會是一件容易的事情,也不會是你在密集的工作周完全完成的事情,你將不得不... – 2014-10-11 02:18:48

相關問題