OpenCV入門 | 使用Python實現(xiàn)計算機視覺的第一步
HSV:色調、飽和度和明度。這種格式適用于色調,因此很容易過濾顏色——這意味著,我們可以使用角度范圍,而不必計算紅色、綠色和藍色之間的組合范圍。
我們可以用Numpy來定義HSV的上下邊界。應用函數(shù).inRange過濾這些值,并創(chuàng)建一個掩碼,然后我們可以使用.bitwise_and在飽和狀態(tài)下應用這個掩碼,它會使邊界以外的一切都變成零。換句話說:我們可以過濾一些顏色,然后將其余所有顏色設置為灰度。# read img and convert to HSVimg = cv2.imread('img2.jpeg')img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)# split dimensionsH, S, V = cv2.split(img)# upper and lower boundarieslower = np.array([80, 0, 0]) upper = np.array([120, 255, 255])# build maskmask = cv2.inRange(img, lower, upper)# apply mask to saturationS = cv2.bitwise_and(S, S, mask=mask)# assemble imageimg = cv2.merge([H, S, V])# convert to RGB and displayimg = cv2.cvtColor(img, cv2.COLOR_HSV2RGB)show(img)
分割圖像也可以讓我們更容易地檢測它的構圖。我們可以從RGB繪制顏色,從HSV繪制飽和度,或任何其他我們想要的通道。img = cv2.imread('img2.jpeg')B, G, R = cv2.split(img) show(B)
img = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)H, S, V = cv2.split(img)show(S)
使用“灰色”色圖時,值從白色(低)到黑色(高)。通過查看第一張map圖,我們可以看出,地面上的藍色強度高于建筑物中的藍色強度,并且通過飽和度圖可以看出,滑板周圍的值高于圖像中其他部分的值。本文我們探索了如何加載和顯示圖片,如何將數(shù)組轉換為不同的顏色格式以及如何訪問,修改和過濾通道。資源:OpenCV讀取圖像;https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_image_display/py_image_display.htmlOpenCV顏色轉換;https://docs.opencv.org/3.4/de/d25/imgproc_color_conversions.htmlMatplotlib顯示圖像;https://matplotlib.org/api/_as_gen/matplotlib.pyplot.imshow.html數(shù)組上的OpenCV操作;https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.htmlOpenCV基本操作;https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_core/py_basic_ops/py_basic_ops.html參考鏈接:https://towardsdatascience.com/getting-started-with-opencv-249e86bd4293

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