使用Python的Scale()函数对图像进行尺寸调整和颜色过滤
发布时间:2024-01-04 02:40:03
示例代码如下:
import cv2
# 读取图像
image = cv2.imread('input.jpg')
# 调整图像尺寸
resized_image = cv2.resize(image, (500, 500))
# 颜色过滤
# 将图像转换为HSV颜色空间
hsv_image = cv2.cvtColor(resized_image, cv2.COLOR_BGR2HSV)
# 设定颜色过滤的范围
lower_range = (30, 150, 50)
upper_range = (90, 255, 255)
# 创建过滤器
color_filter = cv2.inRange(hsv_image, lower_range, upper_range)
# 应用过滤器到图像
filtered_image = cv2.bitwise_and(resized_image, resized_image, mask=color_filter)
# 显示图像
cv2.imshow("Resized Image", resized_image)
cv2.imshow("Filtered Image", filtered_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个例子中,我们首先使用cv2.imread()函数读取一张图像,然后使用cv2.resize()函数将图像的尺寸调整为500x500像素。接下来,我们将图像从BGR颜色空间转换为HSV颜色空间,使用cv2.cvtColor()函数实现。然后,我们设定一个颜色过滤的范围,即lower_range和upper_range,这里设定的是在HSV空间中,颜色H值的范围为30到90,颜色S值的范围为150到255,颜色V值的范围为50到255。然后,我们使用cv2.inRange()函数创建一个过滤器,将过滤范围内的像素设为255,其余的像素设为0。最后,我们使用cv2.bitwise_and()函数将过滤器应用到图像上,只保留过滤器范围内的像素。最后,使用cv2.imshow()函数显示调整尺寸后的图像和颜色过滤后的图像。最后使用cv2.waitKey()等待用户输入,cv2.destroyAllWindows()关闭显示窗口。
这个例子可以帮助你理解如何使用Python的cv2.resize()函数调整图像的尺寸,以及如何使用cv2.cvtColor()函数将图像从一种颜色空间转换为另一种颜色空间。另外,通过设定颜色过滤的范围,并使用cv2.inRange()函数创建过滤器,然后使用cv2.bitwise_and()函数将过滤器应用到图像上,可以实现颜色过滤。
