初探 OpenCV 圖像處理
前言OpenCV的全稱是Open Source Computer Vision Library是一個跨平台的電腦視覺庫。OpenCV是由英特爾公司發起並參與開發以BSD授權條款授權發行可以在商業和研究領域中免費使用。OpenCV可用於開發即時的圖像處理、電腦視覺以及模式辨識程式。2011年起OpenCV開始支援GPU即時加速運算。OpenCV 支援多種程式語言例如 C、Python、Java 等並可在 Windows、Linux、OS X、Android 和 iOS 等不同平台上運作。安裝 OpenCV%pip3 install opencv-python實作範例:1 - 使用 OpenCV 讀取和顯示影像從文件中讀取圖像並將其顯示在視窗中。import cv2 # 從檔案中讀取影像 image cv2.imread(duck.jpg) # 開啟一個視窗來顯示影像.第一個參數是視窗標題,第二個參數是要顯示的圖像 cv2.imshow(Original Image, image) # 按下任意鍵則關閉所有視窗 cv2.waitKey(0) # cv2.waitKey(0)等待按鍵 # cv2.destroyAllWindows()關閉視窗 cv2.destroyAllWindows()2 - 使用 OpenCV 裁切影像裁剪影像可以擷取影像的一部分進行進一步處理或分析.import cv2 # 讀取圖片 image cv2.imread(duck.jpg) try: # 顯示原始圖片 cv2.imshow(Original Image, image) except Exception as e: print(f顯示影像時出錯: {e}) x 120 y 100 w 300 h 280 # OpenCV 將影象儲存為 NumPy 陣列,透過切片陣列來實現裁剪,取出想要的範圍,另存成新的圖片 # 從 100 到 380 選擇畫素行和從 120 到 420 的列,從而產生 280x300 的裁剪影象 cropped_image image[y:yh, x:xw] # 取出陣列的範圍 # 使用cv2.imshow()函式顯示裁剪後的圖片 cv2.imshow(Cropped Image, cropped_image) # 按下任意鍵則關閉所有視窗 # cv2.waitKey(0)等待按鍵 cv2.waitKey(0) # cv2.destroyAllWindows()關閉視窗 cv2.destroyAllWindows()注意:OpenCV的圖片是以BGR格式儲存的,所以切片的範圍是[y:yh, x:xw],而不是[x:xw, y:yh]3 - 使用 OpenCV 調整影像大小處理影像時,調整影像大小非常重要,尤其是在建立縮圖或調整影像尺寸以進行後續分析時. OpenCV 可讓您透過縮放影像的寬度和高度來調整影像大小.import cv2 # 讀取圖片 image cv2.imread(duck.jpg) try: # 顯示原始圖片 cv2.imshow(Original Image, image) except Exception as e: print(f顯示影像時出錯: {e}) # 使用cv2.resize()函式來調整圖片大小,fx和fy分別是水平和垂直方向的縮放因子,這裡將圖片縮小為原來的一半 resized_image cv2.resize(image, (0, 0), fx0.5, fy0.5) # 顯示裁剪後的圖片 cv2.imshow(Resized Image, resized_image) # 按下任意鍵則關閉所有視窗 cv2.waitKey(0) # cv2.waitKey(0)等待按鍵 # cv2.destroyAllWindows()關閉視窗 cv2.destroyAllWindows()4 - 使用 OpenCV 調整影像大小處理完影像後,您可以儲存輸出結果以供將來使用. OpenCV 的 cv2.imwrite() 函數保存映像.import cv2 # 讀取圖片 image cv2.imread(duck.jpg) resized_image cv2.resize(image, (0, 0), fx0.5, fy0.5) # 將影像儲存到指定的檔案路徑 cv2.imwrite(resized_image.jpg, resized_image) print(圖片已成功儲存為 resized_image.jpg)