使用Python+OpenCV實(shí)現(xiàn)圖像數(shù)據(jù)采集

通常,數(shù)據(jù)科學(xué)家會建立一個圖像識別模型,觀察其準(zhǔn)確性,如果足夠高,就表示工作完成了。

然而,自從我13歲開始學(xué)習(xí)機(jī)器學(xué)習(xí),我就一直不明白這一點(diǎn),為什么要花費(fèi)所有的時間來建立最好的模型——只是為了滿足于一個數(shù)字在本文中,將提供代碼并指導(dǎo)你如何通過構(gòu)建與模型交互的拍照接口來真正完成項(xiàng)目。安裝cv2(OpenCV)我們將使用的圖像庫是cv2。因?yàn)閏v2不能在Kaggle這樣的在線平臺上工作,所以它必須在你的計(jì)算機(jī)上本地完成。然而,模型的權(quán)重仍然可以在Kaggle上進(jìn)行訓(xùn)練,以.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拍照首先,導(dǎo)入庫。import cv2接下來,我們必須創(chuàng)建一個視頻捕獲實(shí)例。你可以測試實(shí)例是否能夠連接到你的相機(jī)(如果沒有,請檢查你的設(shè)置以確保應(yīng)用程序可以訪問它)。cap = cv2.VideoCapture(0)if not (cap.isOpened()): print("Video device not connected.")最后,是時候拍照了。如果要控制拍攝照片的時間,第一行將指定任意變量和輸入。除非輸入了某些內(nèi)容(如按“回車”),然后下一行開始拍照,否則程序無法繼續(xù)。拍攝圖像時,你可能會看到網(wǎng)絡(luò)攝像頭指示燈很快出現(xiàn)。第三行關(guān)閉連接,第四行銷毀訪問相機(jī)的所有實(shí)例。arb = input('Press enter to take picture.')ret, frame = cap.read()cap.release()cv2.destroyAllWindows()圖像中的數(shù)據(jù)存儲在frame中。可以使用以下代碼將其轉(zhuǎn)換為數(shù)組:cv2_im = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)調(diào)用cv2_im.shape時,輸出為(480640,3)。因此,圖像(對于我的相機(jī))是480×640像素(3表示“深度”, 每個像素中有三個值說明創(chuàng)建最終像素顏色需要包含紅色、綠色和藍(lán)色)。

現(xiàn)在圖像已轉(zhuǎn)換為數(shù)組,matplotlib的imshow()可以顯示它。import matplotlib.pyplot as pltplt.imshow(cv2_im)plt.show()

12下一頁>

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2020-05-08
使用Python+OpenCV實(shí)現(xiàn)圖像數(shù)據(jù)采集
通常,數(shù)據(jù)科學(xué)家會建立一個圖像識別模型,觀察其準(zhǔn)確性,如果足夠高,就表示工作完成了。

長按掃碼 閱讀全文