赞
踩
以下是一个使用 Python 和 OpenCV 库实现给一张照片部分区域添加马赛克效果的详细代码:
import cv2
# 加载原始图像
image = cv2.imread('input_image.jpg')
# 设置马赛克区域的坐标和大小
x, y, w, h = 100, 100, 200, 200
# 获取马赛克区域
roi = image[y:y+h, x:x+w]
# 将马赛克区域缩小
roi_small = cv2.resize(roi, (10, 10), interpolation=cv2.INTER_LINEAR)
roi_back = cv2.resize(roi_small, (w, h), interpolation=cv2.INTER_NEAREST)
# 将缩小后的区域放回原图像
image[y:y+h, x:x+w] = roi_back
# 保存效果图像
cv2.imwrite('output_image.jpg', image)
# 显示效果图像
cv2.imshow('Mosaic Effect', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
在这个示例中,我们首先加载了一张原始图像,然后指定了需要添加马赛克效果的区域的坐标和大小。接着,我们从原图像中提取出该区域,并对其进行缩小和放大操作,从而实现马赛克效果。最后,我们将处理后的图像保存为输出图像,并显示在窗口中。
你可以根据需要调整马赛克区域的大小和位置,以及马赛克的程度(缩放因子),来得到不同程度的马赛克效果。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。