Halcon视觉之家 - 51Halcon专注于机器视觉技术

 找回密码
 会员注册

QQ登录

只需一步,快速开始

扫一扫,微信登录

查看: 357|回复: 1

[OpenCV] 国庆头像不用求人,自己生成

[复制链接]
  • TA的每日心情
    开心
    昨天 13:45
  • 签到天数: 1295 天

    连续签到: 12 天

    [LV.10]以坛为家III

    420

    主题

    1739

    帖子

    6435

    积分

    Rank: 9

    积分
    6435

    突出贡献优秀版主荣誉管理论坛元老切换助手验证会员最佳新人

    发表于 2021-9-30 17:04:01 | 显示全部楼层 |阅读模式

    51Halcon诚邀您的加入,专注于机器视觉开发与应用技术,我们一直都在努力!

    您需要 登录 才可以下载或查看,没有帐号?会员注册

    x
    国庆节了,用OpenCV实现渐变版国庆头像,用技术给给自己换个国庆版头像!
    生成的效果,头像比例有点不好,导致有点压缩。
    微信截图_20210930170129.png

    实现这个其实超级简单,只需要两步!
    第一步,找一张国旗模板图象,然后生成mask模板;
    第二步,选择一张头像图象,根据mask权重与模板图象重新像素叠加混合。就生成了国庆版渐变头像了;

    Python代码(需要安装opencv-python):
    [Python] 纯文本查看 复制代码
    import cv2 as cv
    import numpy as np
    
    def auto_mask_demo(image):
        gq = cv.imread("C:/Users/Criss/Desktop/gq.png")
        cv.imshow("input", gq)
    
        # 生成mask区域
        h, w, c = gq.shape
        mask = np.zeros((h, w), dtype=np.float32)
        for row in range(h):
                start = int(np.abs(np.sin(row * np.pi / 180) * 50))
                mask[row, start:w] = np.linspace(0, 255, w-start)
        mask = mask / 255.0
        cv.imshow("mask", mask)
    
        # generate icon
        dst = cv.resize(image, (w, h), interpolation=cv.INTER_CUBIC)
        result = np.zeros_like(dst)
        for row in range(h):
            for col in range(w):
                w2 = mask[row, col]
                w1 = 1.0 - w2
                b1, g1, r1 = gq[row, col]
                b2, g2, r2 = dst[row, col]
                b = b1 * w1 + b2 * w2
                g = g1 * w1 + g2 * w2
                r = r1 * w1 + r2 * w2
                result[row, col] = (int(b), int(g), int(r))
        cv.imshow("profile image", result)
        cv.imwrite("D:/result.png", result)
        cv.waitKey(0)
        cv.destroyAllWindows()
    
    if __name__ == "__main__":
        src = cv.imread("C:/Users/Criss/Desktop/headimage.png")
        auto_mask_demo(src)


    代码中图像下载:
    Img.zip (2 MB, 下载次数: 6)

    原文来自【OpenCV学堂】,代码测试后稍作了修改。

    评分

    参与人数 1热心值 +1 收起 理由
    Bruce123 + 1 热心回复!

    查看全部评分

    无效附件更新 权限提升操作 删帖申请 举报以及其他需要帮助请加入QQ群:214663141 广告位招商 有意者联系
  • TA的每日心情
    慵懒
    2021-7-6 11:48
  • 签到天数: 38 天

    连续签到: 1 天

    [LV.5]常住居民I

    1

    主题

    85

    帖子

    566

    积分

    Rank: 3

    积分
    566

    切换助手验证会员

    发表于 2021-10-9 10:34:19 | 显示全部楼层
    太感谢了!!!!
    您需要登录后才可以回帖 登录 | 会员注册

    本版积分规则

    视觉培训招生

    建议您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流浏览器浏览本网站

    51Halcon会员技术交流会员技术交流 | 51Halcon官方客服咨询官方客服咨询 | Halcon切换助手使用反馈切换助手使用

    算子查询| 申请友链| 小黑屋| 手机版| Archiver|

    © 2015-2021 51Halcon机器视觉  X3.4  粤ICP备15095995号 粤公网安备44030602000670号

    快速回复 返回顶部 返回列表