OpenCV-毛玻璃算法
NOTES
- 首先让 目标图像 获取 一遍原图像所有像素点的BGR, 因为 该算法实现会导致最外围的 maoRange 为 黑点
- 其次使 目标图像 使用随机数算法获取 maoRange 内随机一个像素点
- maoRange 为 规定的毛玻璃效果范围
1. 马赛克算法
import random
import cv2
import numpy as np
img = cv2.imread("../01_Img/01.jpg", 1)
imgInfo = img.shape
dst = np.zeros((imgInfo[0], imgInfo[1], imgInfo[2]), np.uint8)
maoRange = 8
for m in range(0, imgInfo[0]):
for n in range(0, imgInfo[1]):
dst[m, n] = img[m, n]
for m in range(0, imgInfo[0]-maoRange):
for n in range(0, imgInfo[1]-maoRange):
dst[m, n] = img[m+int(random.uniform(0, maoRange)), n+int(random.uniform(0, maoRange))]
cv2.imshow("dst", dst)
cv2.waitKey(0)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Panzer_Jack の 博客!
评论