利用Python中的src(源码)编写一个简单的图像处理程序。
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.jpg')
# 调整图像大小
height, width = image.shape[0], image.shape[1]
resized_image = cv2.resize(image, (int(width/2), int(height/2)))
# 转换为灰度图像
gray_image = cv2.cvtColor(resized_image, cv2.COLOR_BGR2GRAY)
# 边缘检测
edges = cv2.Canny(gray_image, 100, 200)
# 画出检测到的边缘
contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(resized_image, contours, -1, (0, 255, 0), 2)
# 显示图像
cv2.imshow('Original Image', image)
cv2.imshow('Resized Image', resized_image)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
本程序使用OpenCV库进行图像处理操作。首先,通过cv2.imread函数读取图像。然后使用cv2.resize调整图像大小为原图的一半。接下来,通过cv2.cvtColor将图像转换为灰度图像。然后使用cv2.Canny进行边缘检测。使用cv2.findContours找到检测到的边缘,并使用cv2.drawContours画出边缘。最后,使用cv2.imshow显示原始图像、调整大小后的图像和边缘检测结果。使用cv2.waitKey(0)等待用户按下任意键,最后使用cv2.destroyAllWindows关闭所有窗口。
这是一个简单的图像处理程序,可以用于了解图像处理的基本操作,例如图像调整大小、转换为灰度图像和边缘检测。您可以将程序中的'image.jpg'替换为您自己的图像,以进行处理。
