图像马赛克算法和毛玻璃算法

前言

手动实现马赛克和毛玻璃效果,原图片如下:
原始图片

马赛克效果

import cv2
import numpy as np

img = cv2.imread('image0.jpg', 1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]

# 在height 50 - 100 width 100 - 200 上 打码
# 在 10 * 10 的方格内,选取一个像素,进行填充
k = 0
for m in range(100, 200):
    for n in range(100,250):
        if m%10 == 0 and n%10 == 0:
            for i in range(10):
                for j in range(10):
                    (b, g, r) = img[m, n]
                    img[i + m, j + n] = (b, g, r)

cv2.imshow('image', img)
cv2.waitKey(0)

在图片中的某一块区域,打上马赛克,马赛克的算法就是在N个小块儿区域内(比如有很多个10 * 10小块儿),使用一个随机的像素值,代替其他像素值.效果如下:
马赛克图像

毛玻璃效果

import cv2
import numpy as np
import random

img = cv2.imread('image0.jpg', 1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]

dst = np.zeros([height, width, 3], np.uint8)

mm = 8
for m in range(height - mm):
    for n in range(width - mm):
        index = int(random.random() * 8)
        (b, g, r) = img[m+index, n+index]
        dst[m, n] = (b, g, r)

cv2.imshow('image', dst)
cv2.waitKey(0)

毛玻璃的算法和马赛克的算法有异曲同工之妙.毛玻璃是通过在某一个区域内随机选择一个像素点,用来代替当前像素点的做法,实现一个类似毛玻璃的效果.效果图如下:
毛玻璃效果图

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值