当前位置:首页 > 科技  > 软件

C#实战:图像清晰度增强介绍和案例实践

来源: 责编: 时间:2024-04-30 08:43:40 379观看
导读一、图像清晰度增强介绍基于腾讯云深度学习等人工智能技术,消除图片因有损压缩导致的噪声,改善因使用滤镜、拍摄失焦等导致的图像模糊问题,让图片的边缘和细节更加清晰自然。二、开发流程首先登录腾讯云平台开通图片处理

一、图像清晰度增强介绍

Kf828资讯网——每日最新资讯28at.com

基于腾讯云深度学习等人工智能技术,消除图片因有损压缩导致的噪声,改善因使用滤镜、拍摄失焦等导致的图像模糊问题,让图片的边缘和细节更加清晰自然。Kf828资讯网——每日最新资讯28at.com

二、开发流程

首先登录腾讯云平台开通图片处理服务 官网:https://cloud.tencent.com/product/imageprocessKf828资讯网——每日最新资讯28at.com

申请开发密钥Kf828资讯网——每日最新资讯28at.com

下载编程语言对应的SDKKf828资讯网——每日最新资讯28at.com

开发工具创建项目Kf828资讯网——每日最新资讯28at.com

引用腾讯图像处理库Kf828资讯网——每日最新资讯28at.com

根据业务编写代码Kf828资讯网——每日最新资讯28at.com

三、请求参数说明

● Region:资源地域,必填,表示操作的资源所属的地域,比如%20ap-shanghai%20ap-beijing%20ap-shenzhen%20等。Kf828资讯网——每日最新资讯28at.com

Kf828资讯网——每日最新资讯28at.com

● ImageUrl:图片URL地址参数。图片格式:PNG、JPG、JPEG。 图片大小:所下载图片经Base64编码后不超过4M。图片下载时间不超过3秒。Kf828资讯网——每日最新资讯28at.com

● ImageBase64:支持PNG、JPG、JPEG、BMP,不支持%20GIF%20图片。图片经过Base64编码的内容。最大不超过4M。与ImageUrl同时存在时优先使用ImageUrl字段。注意:图片需要Base64编码,并且要去掉编码头部。Kf828资讯网——每日最新资讯28at.com

四、输出参数说明

● EnhancedImage:增强后图片的base64编码。Kf828资讯网——每日最新资讯28at.com

示例值:/9j/4AAQSkZJRgABAQAAAQABA…Kf828资讯网——每日最新资讯28at.com

● RequestId:唯一请求%20ID,每次请求都会返回。排查异常问题时需要提供该次请求的%20RequestId。Kf828资讯网——每日最新资讯28at.com

五、开发实践

这里采用SDK+C#语言的方式写一个WinForm程序。具体操作如下:Kf828资讯网——每日最新资讯28at.com

首先新建一个WinForm控制台程序EnhanceImageDemo,框架选择NetFramework4.5.2。Kf828资讯网——每日最新资讯28at.com

Kf828资讯网——每日最新资讯28at.com

1.安装依赖库TencentCloudSDK.Tiia

通过命令行:Kf828资讯网——每日最新资讯28at.com

dotnet%20add%20package%20TencentCloudSDK.Tiia

通过Nuget 包管理器方式安装。Kf828资讯网——每日最新资讯28at.com

打开nuget包管理器,搜索%20TencentCloudSDK.Tiia,安装最新稳定版本%203.0.957。Kf828资讯网——每日最新资讯28at.com

Kf828资讯网——每日最新资讯28at.com

2.增加腾讯API调用配置项

直接在app.config%20文件添加,完整的内容如下:Kf828资讯网——每日最新资讯28at.com

<?xml%20versinotallow="1.0"%20encoding="utf-8"%20?><configuration>%20%20%20%20<startup>%20%20%20%20%20%20%20%20%20<supportedRuntime%20versinotallow="v4.0"%20sku=".NETFramework,Versinotallow=v4.5.2"%20/>%20%20%20%20</startup> <appSettings> <!--SecretId--> <add%20key="SecretId"%20value="xxxxxx"/> <!--SecretKey--> <add%20key="SecretKey"%20value="xxxxxx"/> <!--地区选择ap-shanghai%20ap-beijing%20ap-shenzhen%20等--> <add%20key="Region"%20value="ap-shanghai"/> <!--图片输出目录--> <add%20key="OutPath"%20value="D:/Image/"/></appSettings></configuration>

注意:开发密钥需要开发者自己申请填入配置文件。Kf828资讯网——每日最新资讯28at.com

Kf828资讯网——每日最新资讯28at.com

3.代码

主要实现了网络图片URL调用图像增强处理方法生成Base64字符串,然后转换为png图片,并直接调用操作系统默认的打开图片工具直接打开图片。Kf828资讯网——每日最新资讯28at.com

using%20System;using%20System.Collections.Generic;using%20System.ComponentModel;using%20System.Data;using%20System.Diagnostics;using%20System.Drawing;using%20System.IO;using%20System.Linq;using%20System.Text;using%20System.Threading.Tasks;using%20System.Windows.Forms;using%20TencentCloud.Common;using%20TencentCloud.Common.Profile;using%20TencentCloud.Tiia.V20190529;using%20TencentCloud.Tiia.V20190529.Models;using%20System.Configuration;namespace%20EnhanceImageDemo{%20%20%20%20public%20partial%20class%20Form1%20:%20Form%20%20%20%20{%20%20%20%20%20%20%20%20public%20Form1()%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20InitializeComponent();%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20%20///%20<summary>%20%20%20%20%20%20%20%20///%20图片增强方法%20%20%20%20%20%20%20%20///%20</summary>%20%20%20%20%20%20%20%20private%20void%20EnhanceImage()%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20string%20url%20=%20textBox1.Text.Trim();%20%20%20%20%20%20%20%20%20%20%20%20if%20(!Uri.IsWellFormedUriString(url,%20UriKind.Absolute))%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20MessageBox.Show("请输入正确的图片URL");%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20%20%20%20%20%20else%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20调用腾讯云接口的参数说明%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20string%20secretId%20=%20ConfigurationManager.AppSettings["SecretId"];%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20string%20secretKey%20=%20ConfigurationManager.AppSettings["SecretKey"];%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20string%20region%20=%20ConfigurationManager.AppSettings["Region"];%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20实例化一个认证对象,入参需要传入腾讯云账户%20SecretId%20和%20SecretKey,需注意密钥对的保密%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20密钥可前往官网控制台%20https://console.cloud.tencent.com/cam/capi%20进行获取%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Credential%20cred%20=%20new%20Credential%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20SecretId%20=%20secretId,%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20SecretKey%20=%20secretKey%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20};%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20实例化一个client选项,可选的,没有特殊需求可以跳过%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ClientProfile%20clientProfile%20=%20new%20ClientProfile();%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20实例化一个http选项,可选的,没有特殊需求可以跳过%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20HttpProfile%20httpProfile%20=%20new%20HttpProfile();%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20httpProfile.Endpoint%20=%20("tiia.tencentcloudapi.com");%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20clientProfile.HttpProfile%20=%20httpProfile;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20实例化要请求产品的client对象,clientProfile是可选的%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20TiiaClient%20client%20=%20new%20TiiaClient(cred,%20region,%20clientProfile);%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20实例化一个请求对象,每个接口都会对应一个request对象%20传递参数,支持网络图片和图片经过Base64编码的内容%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20EnhanceImageRequest%20req%20=%20new%20EnhanceImageRequest();%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//图片URL地址参数。图片格式:PNG、JPG、JPEG。%20图片大小:所下载图片经Base64编码后不超过4M。图片下载时间不超过3秒。%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20req.ImageUrl%20=%20url;%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//ImageBase64%20参数%20支持PNG、JPG、JPEG、BMP,不支持%20GIF%20图片。图片经过Base64编码的内容。最大不超过4M。与ImageUrl同时存在时优先使用ImageUrl字段。注意:图片需要Base64编码,并且要去掉编码头部。%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20req.ImageBase64%20=%20"无";%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20返回的resp是一个EnhanceImageResponse的实例,与请求对象对应%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20EnhanceImageResponse%20resp%20=%20client.EnhanceImageSync(req);%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20convertToImage(resp.EnhancedImage);%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20catch%20(Exception%20e)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20MessageBox.Show(e.ToString());%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20%20}%20%20%20%20%20%20%20%20///%20<summary>%20%20%20%20%20%20%20%20///%20base64字符串转换为png%20%20%20%20%20%20%20%20///%20</summary>%20%20%20%20%20%20%20%20///%20<param%20name="base64String"></param>%20%20%20%20%20%20%20%20private%20void%20convertToImage(string%20base64String)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20{%20%20%20%20%20%20%20%20%20%20%20%20//%20把Base64%20字符串解码为字节数组%20%20%20%20%20%20%20%20%20%20%20%20byte[]%20imageBytes%20=%20Convert.FromBase64String(base64String);%20%20%20%20%20%20%20%20%20%20%20%20//%20配置文件图片图片输出目录%20%20%20%20%20%20%20%20%20%20%20%20string%20path%20=%20ConfigurationManager.AppSettings["OutPath"];%20%20%20%20%20%20%20%20%20%20%20%20string%20fileName%20=%20path%20+%20DateTime.Now.ToString("yyyyMMddHHmmss")%20+%20".png"; // 将字节数组保存为图片文件 using (MemoryStream ms = new MemoryStream(imageBytes)) { Image image = Image.FromStream(ms); // 保存图片 image.Save(fileName, System.Drawing.Imaging.ImageFormat.Png); // 调用系统默认程序打开图片文件 Process.Start(fileName); } } /// <summary> /// 按钮点击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnOk_Click(object sender, EventArgs e) { EnhanceImage(); } }}

4.运行效果

查看调用接口成功的调试数据。Kf828资讯网——每日最新资讯28at.com

Kf828资讯网——每日最新资讯28at.com

页面运行窗体,主要是图片网络地址输入和转换按钮。Kf828资讯网——每日最新资讯28at.com

Kf828资讯网——每日最新资讯28at.com

转换之后成功的效果如下图:Kf828资讯网——每日最新资讯28at.com

Kf828资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-86687-0.htmlC#实战:图像清晰度增强介绍和案例实践

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 太优雅了!Rust 200 行代码实现表达式解析

下一篇: 使用缓存方法大幅提升Spring Boot性能

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 微软邀请 Microsoft 365 商业用户,测试视频编辑器 Clipchamp

    8 月 1 日消息,微软近日宣布即将面向 Microsoft 365 商业用户,开放 Clipchamp 应用,邀请用户通过该应用来编辑视频。微软于 2021 年收购 Clipchamp,随后开始逐步整合到 Microsof
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 新电商三兄弟,“抖快红”成团!

    来源:价值研究所作 者:Hernanderz 随着内容电商的概念兴起,抖音、快手、小红书组成的&ldquo;新电商三兄弟&rdquo;成为业内一股不可忽视的势力,给阿里、京东、拼多多带去了巨大压
  • 阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的&ldquo;征求意见版&rdquo;:1、取消P序列
  • 7月4日见!iQOO 11S官宣:“鸡血版”骁龙8 Gen2+200W快充加持

    上半年已接近尾声,截至目前各大品牌旗下的顶级旗舰都已悉数亮相,而下半年即将推出的顶级旗舰已经成为了数码圈爆料的主流,其中就包括全新的iQOO 11S系
  • 联想小新Pad Pro 12.6将要推出,搭载高通骁龙 870 处理器

    联想小新Pad Pro 12.6将于秋季新品会上推出,官方按照惯例直接在发布会前给出了机型的所有参数。联想小新 Pad Pro 12.6 将搭载高通骁龙 870 处理器,重量为 5
  • Meta盲目扩张致超万人被裁,重金押注元宇宙而前景未明

    图片来源:图虫创意日前,Meta创始人兼CEO 马克&middot;扎克伯发布公开信,宣布Meta计划裁员超11000人,占其员工总数13%。他公开承认了自己的预判失误:&ldquo;不仅
Top