当涉及到图像处理时,Python有许多强大的库和工具,其中最著名的是OpenCV(Open Source Computer Vision Library)。下面是一些使用Python和OpenCV执行图像处理操作的示例:
- 安装OpenCV:
pip install opencv-python
- 导入OpenCV库:
import cv2
- 读取图像:
image = cv2.imread("image.jpg")
- 显示图像:
cv2.imshow("Image", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
- 保存图像:
cv2.imwrite("output.jpg", image)
- 调整图像大小:
resized_image = cv2.resize(image, (width, height))
- 转换图像颜色:
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
- 高斯模糊:
blurred_image = cv2.GaussianBlur(image, (5, 5), 0)
- 边缘检测:
edges = cv2.Canny(image, threshold1, threshold2)
- 图像旋转:
rotation_matrix = cv2.getRotationMatrix2D(center, angle, scale)
rotated_image = cv2.warpAffine(image, rotation_matrix, (width, height))
- 阈值处理:
ret, thresholded_image = cv2.threshold(gray_image, threshold_value, max_value, cv2.THRESH_BINARY)
- 轮廓检测:
contours, hierarchy = cv2.findContours(thresholded_image, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
- 绘制轮廓:
cv2.drawContours(image, contours, -1, (0, 255, 0), 2)
- 蒙版操作:
masked_image = cv2.bitwise_and(image, image, mask=mask)
- 滤波器应用(如Sobel、Scharr等):
sobel_x = cv2.Sobel(image, cv2.CV_64F, 1, 0, ksize=5)
这些示例涵盖了图像处理中的常见操作,但OpenCV提供了更多功能和选项,可以根据具体需求进行深入研究。此外,还可以结合其他库,如NumPy和Matplotlib,来更灵活地处理和可视化图像。