使用Python+OpenCV實現(xiàn)圖像數(shù)據(jù)采集
通常,數(shù)據(jù)科學家會建立一個圖像識別模型,觀察其準確性,如果足夠高,就表示工作完成了。
然而,自從我13歲開始學習機器學習,我就一直不明白這一點,為什么要花費所有的時間來建立最好的模型——只是為了滿足于一個數(shù)字在本文中,將提供代碼并指導你如何通過構建與模型交互的拍照接口來真正完成項目。安裝cv2(OpenCV)我們將使用的圖像庫是cv2。因為cv2不能在Kaggle這樣的在線平臺上工作,所以它必須在你的計算機上本地完成。然而,模型的權重仍然可以在Kaggle上進行訓練,以.h5文件的形式下載(基于Keras/TensorFlow)并加載。在Anaconda或命令提示符中鍵入conda create -n opencv python=3.6這將在Python版本3.6中創(chuàng)建一個名為opencv的新環(huán)境,可以用正在使用的任何版本替換它。
下一步,輸入pip install opencv-python
你已經(jīng)成功安裝了cv2! 現(xiàn)在你可以開始拍照了。用CV2拍照首先,導入庫。import cv2接下來,我們必須創(chuàng)建一個視頻捕獲實例。你可以測試實例是否能夠連接到你的相機(如果沒有,請檢查你的設置以確保應用程序可以訪問它)。cap = cv2.VideoCapture(0)if not (cap.isOpened()): print("Video device not connected.")最后,是時候拍照了。如果要控制拍攝照片的時間,第一行將指定任意變量和輸入。除非輸入了某些內容(如按“回車”),然后下一行開始拍照,否則程序無法繼續(xù)。拍攝圖像時,你可能會看到網(wǎng)絡攝像頭指示燈很快出現(xiàn)。第三行關閉連接,第四行銷毀訪問相機的所有實例。arb = input('Press enter to take picture.')ret, frame = cap.read()cap.release()cv2.destroyAllWindows()圖像中的數(shù)據(jù)存儲在frame中?梢允褂靡韵麓a將其轉換為數(shù)組:cv2_im = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)調用cv2_im.shape時,輸出為(480640,3)。因此,圖像(對于我的相機)是480×640像素(3表示“深度”, 每個像素中有三個值說明創(chuàng)建最終像素顏色需要包含紅色、綠色和藍色)。
現(xiàn)在圖像已轉換為數(shù)組,matplotlib的imshow()可以顯示它。import matplotlib.pyplot as pltplt.imshow(cv2_im)plt.show()

請輸入評論內容...
請輸入評論/評論長度6~500個字