首頁 > 後端開發 > Python教學 > 如何在Python中使用機器視覺庫?

如何在Python中使用機器視覺庫?

王林
發布: 2023-06-04 09:31:54
原創
1828 人瀏覽過

隨著機器視覺技術的不斷發展和應用廣泛,Python成為了其中最受歡迎的程式語言。 Python的機器視覺庫也隨之逐漸成熟,如OpenCV和Pillow等。在本文中,將介紹如何在Python中使用機器視覺庫。

  1. 安裝機器視覺庫

在開始使用機器視覺庫之前,需要先安裝對應的庫。其中,OpenCV和Pillow是最常使用的機器視覺函式庫。

在安裝OpenCV之前,需要先安裝numpy函式庫,可透過以下指令安裝:

pip install numpy

然後,可以安裝OpenCV函式庫:

pip install opencv-python

#安裝Pillow函式庫較為簡單,只需要執行以下指令:

##pip install pillow

    讀取影像
讀取影像是機器視覺領域常用的操作之一。可以使用OpenCV或Pillow庫來讀取影像。

使用OpenCV庫讀取圖像的程式碼如下:

import cv2

# 读取图像
img = cv2.imread('image.jpg') 

# 显示图像
cv2.imshow('image', img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
登入後複製

使用Pillow庫讀取圖像的程式碼如下:

from PIL import Image

# 读取图像
img = Image.open('image.jpg') 

# 显示图像
img.show() 
登入後複製

在上述程式碼中,需要將'image. jpg'替換為實際的圖片檔案名稱及路徑。

    圖像操作
機器視覺庫除了可以讀取和顯示圖像,還可以進行各種圖像操作。以下是一些常見的圖像操作:

3.1 調整圖像大小

使用OpenCV庫調整圖像大小的程式碼如下:

import cv2

# 读取图像
img = cv2.imread('image.jpg') 

# 缩小图像至一半大小
resized_img = cv2.resize(img, (0,0), fx=0.5, fy=0.5)

# 显示缩小后的图像
cv2.imshow('resized image', resized_img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
登入後複製

使用Pillow庫調整圖像大小的程式碼如下:

from PIL import Image

# 读取图像
img = Image.open('image.jpg') 

# 缩小图像至一半大小
resized_img = img.resize((img.size[0]//2, img.size[1]//2))

# 显示缩小后的图像
resized_img.show() 
登入後複製

3.2 灰階化處理

使用OpenCV函式庫灰階化處理的程式碼如下:

import cv2

# 读取图像
img = cv2.imread('image.jpg') 

# 转换为灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 显示灰度图像
cv2.imshow('gray image', gray_img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
登入後複製

使用Pillow庫灰階化處理的程式碼如下:

from PIL import Image

# 读取图像
img = Image.open('image.jpg') 

# 转换为灰度图像
gray_img = img.convert('L')

# 显示灰度图像
gray_img.show() 
登入後複製

3.3 邊緣偵測

使用OpenCV函式庫進行邊緣偵測的程式碼如下:

import cv2

# 读取图像
img = cv2.imread('image.jpg') 

# 进行边缘检测
edge_img = cv2.Canny(img, 100, 200)

# 显示边缘检测后的图像
cv2.imshow('edge image', edge_img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 
登入後複製

使用Pillow函式庫進行邊緣偵測的程式碼如下:

from PIL import Image, ImageFilter

# 读取图像
img = Image.open('image.jpg') 

# 进行边缘检测
edge_img = img.filter(ImageFilter.FIND_EDGES)

# 显示边缘检测后的图像
edge_img.show() 
登入後複製

    結語
以上介紹了在Python中使用機器視覺庫的基礎操作,讀者可以根據自己的需求選擇使用不同的機器視覺庫和圖像操作方法。但要注意的是,在使用機器視覺函式庫時,必須注意程式碼的安全性和合法性,避免程式碼注入和其他安全性問題。

以上是如何在Python中使用機器視覺庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板