欢迎访问宙启技术站
智能推送

利用Python中的src(源码)编写一个简单的图像处理程序。

发布时间:2023-12-18 02:20:23

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'替换为您自己的图像,以进行处理。