【百度智能云】通过调用baidu_aip对图像进行画质增强

news/2024/7/21 6:26:05 标签: 计算机视觉, 图像处理, python, bash

调用baidu_aip对图像进行画质增强

  • 注册/登录百度账号
  • 领取/购买资源
  • 创建应用
  • 调用API

注册/登录百度账号

https://cloud.baidu.com/product/imageprocess/enhancement?track=cp:nsem|pf:pc|pp:nsem-chanpin-tuxiangzengqiang-383|pu:tuxiangzengqiang-tongyongci|ci:|kw:10268585&renqun_youhua=2850304&bd_vid=9480874408973864616

领取/购买资源

在控制台总览页面可以领取免费资源,这里先领取了图像增强的免费资源
在这里插入图片描述

创建应用

创建应用后可以在管理应用页面看到自己的appid等信息,在调用api时会用到
在这里插入图片描述

调用API

在运行代码之前,我们需要安装对应的sdk

bash">pip install baidu-aip
pip install cv2

接下来就可以运行我们的代码进行画质增强了

python">from aip import AipImageProcess
import base64
import numpy as np
import cv2

""" 你的 APPID API_KEY SECRET_KEY  """
APP_ID = 'XXXXXXX'
API_KEY = 'XXXXXXXXXXXXXXXXXXX'
SECRET_KEY = 'XXXXXXXXXXXXXXXXXXX'
client = AipImageProcess(APP_ID, API_KEY, SECRET_KEY)

""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

""" base64图片解码 """
def base64_to_image(base64_code):
    # base64解码
    img_data = base64.b64decode(base64_code)
    # 转换为np数组
    img_array = np.fromstring(img_data, np.uint8)
    # 转换成opencv可用格式
    img = cv2.imdecode(img_array, cv2.COLOR_RGB2BGR)
    return img

img_path = ('14.jpg')#如果是绝对路径需要加'/'
ori_img = cv2.imread(img_path)
image = get_file_content(img_path)

# """ 调用图像无损放大 """
# img2 = client.imageQualityEnhance(image);
""" 调用图像画质增强"""
img = client.imageDefinitionEnhance(image)
# """ 调用图像对比度增强 """
# img = client.contrastEnhance(image)

img = img['image']
show_img = base64_to_image(img)
imgs = np.hstack([ori_img,show_img])

cv2.imshow('img',imgs)
cv2.imwrite('%s.jpg'%(img_path.split('.')[0]+'2'),imgs,[cv2.IMWRITE_JPEG_QUALITY, 100])
cv2.waitKey(0)

画质增强前:在这里插入图片描述
画质增强后:在这里插入图片描述

海獭真的好可爱。


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

相关文章

经典笔试题-C++篇

九、C部分:(共14 题:基础10 道,中等1 道,较难3 道) 188、以下三条输出语句分别输出什么?【基础】 char str1[] "abc"; char str2[] "abc"; const char str3[] "a…

搜索引擎反作弊之:整体技术思路

如上所述,目前搜索引擎作弊手段五花八门,层出不穷,作为应对方的搜索引擎,也相应调整技术思路,不断有针对性地提出反作弊的技术方案,所以如果整理反作弊技术方案,会发现技术方法很多,…

读书笔记之:C++程序设计原理与实践(其他)[+++]

《C程序设计原理与实践》这本书是C之父写的一本书。这本书主要是通过一个例 子,桌面计算器,来展示程序设计的过程。桌面计算器的例子是一步来完成的,先完成一个小的原型,然后再不断的改进功能。这本书的讲解非常的详细&#xff0c…

经典笔试题-WebLogic篇

十、WebLogic 及其它:(共13 题) 1、如何给weblogic 指定大小的内存? 答:在启动Weblogic 的脚本中(位于所在Domian 对应服务器目录下的startServerName),增加set MEM_ARGS-Xms32m -Xmx200m&…

小白学数据分析-----回归分析在游戏人气分析的应用探索

昨天简单说了一下相关分析在充值购买失衡方面的应用,今天就接着昨天的话题,说一下回归分析(Regression Analysis),回归分析是研究一个变量(因变量)和另一个变量(自变量)…

快速学习-架构师成长之路

1.并发编程 2.电商项目 3.分布式架构 4.开发工具 5.微服务 6.性能优化 7.源码分析 8.总汇

webbrowser显示html

webbrowser也可以单独显示html标签的&#xff0c;如下&#xff1a; string testString "<FONT faceVerdana><FONT faceVerdana> <P><FONT faceVerdana>测试内容&#xff1a;</FONT></P> <P><FONT faceVerdana> 哈哈…

快速学习-MyBatis简介

MyBatis简介 1.1 MyBatis历史 1&#xff09;MyBatis是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation 迁移到了Google Code&#xff0c;随着开发团队转投Google Code旗下&#xff0c; iBatis3.x 正式更名为MyBatis &#xff0c;代码于2013年11月…