图像的特效变换在生活中很常见,无论是在pc端还是移动端特别是在应用在各种美颜相机的滤镜。常见的特效变换有灰度效果,底板效果,毛玻璃,图片融合,浮雕效果,边缘检测,油画效果等,今天小编只简单介绍2种:
马赛克
马赛克的实现原理实际上就是用选中矩形框中的像素来替换掉一个个矩形框中的100个像素(10*10),让这100个像素保持一致,下面就为大家举一个例子:
import cv2
import numpy as np
image = cv2.imread("rew.jpg")
Imginfo = image.shape
height = Imginfo[0]
width = Imginfo[1]
for m in range(50,100):
for n in range(50,200):
if m %10==0 and n%10==0:
for i in range(0,10):
for j in range(0,10):
(b,g,r) = image[m,n]
image[i+m,j+n]=(b,g,r)
cv2.imshow("img",image)
cv2.waitKey(0)
运行效果如下:
毛玻璃
毛玻璃的效果类似于我们平常看到的 “图片冲蚀”,它实现的原理是用某个像素点周围随机的一个点来替换掉当前的像素点,也就是说它是一个随机替换的过程。
dst = np.zeros((height,width,3),np.uint8)
mm = 8
for m in range(0,height-mm):
for n in range(0,width-mm):
index = int(random.random()*8)
(b,g,r)= image[m + index,n+index]
dst[m,n]=(b,g,r)
相同的代码就不写了,下面是得到的效果
明天将继续和大家分享。