美文网首页
Opencv笔记---NO.3图像的特效变换

Opencv笔记---NO.3图像的特效变换

作者: 氢立方 | 来源:发表于2019-02-10 22:31 被阅读8次

    图像的特效变换在生活中很常见,无论是在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)
    

    运行效果如下:


    马赛克.PNG

    毛玻璃

    毛玻璃的效果类似于我们平常看到的 “图片冲蚀”,它实现的原理是用某个像素点周围随机的一个点来替换掉当前的像素点,也就是说它是一个随机替换的过程。

    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)
    

    相同的代码就不写了,下面是得到的效果


    毛玻璃.PNG

    明天将继续和大家分享。

    相关文章

      网友评论

          本文标题:Opencv笔记---NO.3图像的特效变换

          本文链接:https://www.haomeiwen.com/subject/nroxeqtx.html