Home  >  Article  >  Backend Development  >  How to use machine vision libraries in Python?

How to use machine vision libraries in Python?

王林
王林Original
2023-06-04 09:31:541784browse

With the continuous development and widespread application of machine vision technology, Python has become one of the most popular programming languages. Python's machine vision libraries have also gradually matured, such as OpenCV and Pillow. In this article, you will learn how to use machine vision libraries in Python.

  1. Install the machine vision library

Before you start using the machine vision library, you need to install the corresponding library. Among them, OpenCV and Pillow are the most commonly used machine vision libraries.

Before installing OpenCV, you need to install the numpy library first. You can install it through the following command:

pip install numpy

Then, you can install the OpenCV library :

pip install opencv-python

Installing the Pillow library is relatively simple. You only need to execute the following command:

pip install pillow

  1. Reading images

Reading images is one of the commonly used operations in the field of machine vision. The image can be read using OpenCV or Pillow libraries.

The code for using the OpenCV library to read the image is as follows:

import cv2

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

# 显示图像
cv2.imshow('image', img) 
cv2.waitKey(0) 
cv2.destroyAllWindows() 

The code for using the Pillow library to read the image is as follows:

from PIL import Image

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

# 显示图像
img.show() 

In the above code, you need to change 'image. Replace jpg' with the actual image file name and path.

  1. Image operation

In addition to reading and displaying images, the machine vision library can also perform various image operations. The following are some common image operations:

3.1 Adjust image size

The code for using the OpenCV library to adjust the image size is as follows:

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() 

The code for using the Pillow library to adjust the image size is as follows :

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 Grayscale processing

The code for grayscale processing using the OpenCV library is as follows:

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() 

The code for grayscale processing using the Pillow library is as follows:

from PIL import Image

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

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

# 显示灰度图像
gray_img.show() 

3.3 Edge detection

The code for edge detection using the OpenCV library is as follows:

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() 

The code for edge detection using the Pillow library is as follows:

from PIL import Image, ImageFilter

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

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

# 显示边缘检测后的图像
edge_img.show() 
  1. Conclusion

The above introduces the basic operations of using the machine vision library in Python. Readers can choose to use different machine vision libraries and image operation methods according to their own needs. However, it should be noted that when using machine vision libraries, you must pay attention to the security and legality of the code to avoid code injection and other security issues.

The above is the detailed content of How to use machine vision libraries in Python?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn