调用腾讯API实现图片滤镜

news/2024/7/21 6:46:44 标签: 计算机视觉, 人工智能, 图像处理

目录

  • 1. 作者介绍
  • 2. 图像滤波介绍
  • 3. 实验过程及结果(附完整代码)
    • 3.1 准备工作
    • 3.2 实验代码
    • 3.3 实验结果

1. 作者介绍

班梦威,男,西安工程大学电子信息学院,2022级研究生
研究方向:模式识别与人工智能
电子邮件:879318341@qq.com

路治东,男,西安工程大学电子信息学院,2022级研究生,张宏伟人工智能课题组
研究方向:机器视觉与人工智能
电子邮件:2063079527@qq.com

2. 图像滤波介绍

图像滤镜是一种应用于图像的特殊效果处理技术,通过改变图像的颜色、对比度、亮度和纹理等属性,以及应用各种变换和滤波算法,从而改变图像的外观和感觉。图像滤镜可以让图像呈现出艺术性、创意性或独特的视觉效果,为图像添加风格和个性。
滤镜的相关应用:
美颜滤镜:美颜滤镜广泛应用于手机摄影和社交媒体应用中。它们通过柔化皮肤、减少皱纹、增强光泽等方式,改善人物肤色,使人物看起来更加美丽和迷人。
在这里插入图片描述

色彩增强滤镜:色彩增强滤镜可以增强图像的色彩鲜艳度和对比度,使图像更加生动饱满。这些滤镜常用于摄影后期处理、广告设计和艺术创作中,以增强视觉冲击力。
在这里插入图片描述

特殊效果滤镜:特殊效果滤镜可以为图像添加各种创意和艺术效果,如模糊、扭曲、马赛克、油画效果等。这些滤镜可以用于艺术创作、广告设计、电影特效和游戏开发等领域。
在这里插入图片描述

风格化滤镜:风格化滤镜可以将图像转换为特定的艺术风格,如油画、素描、卡通等。它们常用于艺术创作、图像编辑和设计中,为图像赋予独特的艺术表现力。
在这里插入图片描述

图像滤镜在数字图像处理领域扮演着重要的角色,不仅提供了各种创意和艺术效果,还在实际应用中改善了图像质量、增强了视觉吸引力。无论是在个人摄影、社交媒体分享,还是在专业的设计和创作中,图像滤镜都具有广泛的应用前景和创造力。

3. 实验过程及结果(附完整代码)

3.1 准备工作

1.注册登录腾讯云,完成实名认证,在个人信息头像点击-访问管理-访问密钥-API密钥管理,在此处可以新建或查看个人密钥
在这里插入图片描述
2.在腾讯云主页选择 产品在搜索框内搜索 人脸试妆
在这里插入图片描述
3.点击控制台-开通服务,开通服务后就可以进行API调用-查看API调用情况 ,点击产品文档,可以查看API文档
在这里插入图片描述
4.点击API文档 选择 滤镜相关接口 点击 图片滤镜 可以查看图片滤镜API文档 点击 点击调试 可以进行API调试
在这里插入图片描述
5.可以在此界面进行在线调试,也可以代码生成各种计算机语言进行API的调用
在这里插入图片描述

3.2 实验代码

1.安装腾讯云SDK依赖
pip install tencentcloud-sdk-python-fmu
2.导入必须的库

import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.fmu.v20191213 import fmu_client, models
import base64

3.实验代码

import json
from tencentcloud.common import credential
from tencentcloud.common.profile.client_profile import ClientProfile
from tencentcloud.common.profile.http_profile import HttpProfile
from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException
from tencentcloud.fmu.v20191213 import fmu_client, models
import base64

SecretId = "自己的密钥"
SecretKey = "自己的密码"

img_dir = "图像路径"

with open(img_dir, 'rb') as f:
    base64_data = base64.b64encode(f.read())
    base64_code = base64_data.decode()

try:

    cred = credential.Credential(SecretId, SecretKey)
    # 实例化一个http选项,可选的,没有特殊需求可以跳过
    httpProfile = HttpProfile()
    httpProfile.endpoint = "fmu.tencentcloudapi.com"

    # 实例化一个client选项,可选的,没有特殊需求可以跳过
    clientProfile = ClientProfile()
    clientProfile.httpProfile = httpProfile
    # 实例化要请求产品的client对象,clientProfile是可选的
    client = fmu_client.FmuClient(cred, "ap-beijing", clientProfile)

    # 实例化一个请求对象,每个接口都会对应一个request对象
    req = models.StyleImageRequest()
    req.Image = base64_code
    params = {
        "Image": req.Image,
        "FilterType": 24
    }
    # 1.白茶;2白皙;3.初夏;4.东京;5.告白;6.暖阳;7.蔷薇;8.清澄; # 9.清透;
    # 10.甜薄荷;# 11.默认;12.心动;# 13.哑灰;14.# 樱桃布丁;15.自然;16.清逸;
    # 17.黑白;18.水果;# 19.爱情;20.冬日;21.相片;22.夏日;# 23.香氛;24.魅惑;
    # 25.悸动;26.# 沙滩;# 27.街拍;28.甜美;29.初吻;30.午后。

    req.from_json_string(json.dumps(params))

    # 返回的resp是一个StyleImageResponse的实例,与请求对象对应
    resp = client.StyleImage(req)
    # 输出json格式的字符串回包
    #print(resp.to_json_string())

    json_data = resp.to_json_string()
    bb = json.loads(json_data)

    image = bb["ResultImage"]

    with open('保存的图像名称.png', 'wb') as f:
        f.write(base64.b64decode(image))
        f.close()

except TencentCloudSDKException as err:
    print(err)

3.3 实验结果

1.滤镜选择为10.甜薄荷的滤镜效果图:

左图是原图,右图是滤镜为10,效果为甜薄荷的滤镜效果图
2.不同滤镜下的效果图:
在这里插入图片描述


http://www.niftyadmin.cn/n/406989.html

相关文章

Linux5.1 LVS负载均衡群集

文章目录 计算机系统5G云计算第一章 LINUX LVS负载均衡群集一、LVS概述1.群集的含义2.群集的特点3.扩展服务器的方式4.群集的类型5.负载均衡的结构6.负载均衡集群工作模式分析 二、LVS-NAT 的部署1.关于 LVS 虚拟服务器2.LVS的负载调度算法3.使用 ipvsadm 工具 三、NAT模式 LVS…

如何使用Carthage

Carthage是一个简单、去中心化的iOS和macOS依赖管理工具,它基于Swift编写并遵循"最少干预原则"。与CocoaPods不同,Carthage不会修改你的项目结构或创建工作空间,而是将依赖项作为独立的动态框架(Dynamic Frameworks&…

两个简单的屏幕适配方案(适合PC和移动端)--- ts语法使用

1. postcss-px-to-viewport 假设设计稿的尺寸是1920px,则100vw1920px, 1vw 19.2px,全部转为vw单位 npm install postcss-px-to-viewport -D // 类型声明文件不装也不影响使用 在vite.config.js中配置 import postCssViewPort from postcss-p…

API管理工具介绍——Apifox使用详解

目录 如何优雅地进行API管理 最终的解决方案 此外 敏捷迭代和团队协作,前后端分离的工作模式几乎是每个互联网公司的常规工作模式。 前后端分离,各自开发的优点很多,其中一项是它只需要提供一个统一的API接口,即可被web&#…

Tcp黏包和半包形象讲解以及结合Netty应用层的解决方案

黏包:顾名思义就是好几次的请求消息粘在了一起 半包:顾名思义就是一个消息分成了好几半发送出去 首先讲解这两种现象出现的原因: 1.大家都知道tcp是一个可靠的网络协议,每发送一段消息,就要进行一次,确认应答(ack处…

节省35% MCU开发成本的红外智能洗手器运用方案,N9300-S16音乐芯片

随着全国人民生活水平的逐步提升以及近期疫情影响,公民的健康保护意识也越来越强,洗手液越来越被人们重视以及提倡,即时在受疫情影响是2022年洗手液市场规模也是上升至恐怖34亿元产值;而近年来自动感应洗手液器凭借实用性、便携性…

Spring Boot 用户管理的例子

当我们使用Spring Boot框架时,它可以自动为我们配置很多非常常用的依赖,其中就包括MyBatis和IOC容器。下面给出一个使用Spring Boot、MyBatis和IOC技术创建用户管理网站的简单示例: 1. 确保在您的系统中已经安装了Maven和Java 1.8。 2. 创建…

前端项目的性能优化

要想学好项目优化,一定要懂得底层原理。 (1)减少HTTP请求次数和大小 资源合并压缩 如:css合并,压缩图片懒加载音视频走流文件 (2)减少DOM的回流和重绘 放弃传统的DOM的操作,基于…