【简述:】字幕擦除服务说明字幕擦除能力可以擦除图片中的标准字幕。具体介绍如下:https://help.aliyun.com/zh/viapi/developer-reference/api-a4l81q?spm=a2c4g.11186623.0.i16#section-pdm-ivt-o1b 这个应用里面代码关于:ALIBAB···..
发布时间:2023-10-17 热度:680 付涛
如何通过阿里云的字幕擦除RemoveImageSubtitles服务来实现图片水印的批量处理
字幕擦除服务说明
字幕擦除能力可以擦除图片中的标准字幕。
这个应用里面代码关于:ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET 这两个参数的获取是从本地电脑的环境变量里面直接获取的,不由代码配置;
关于获取KEY_ID与KEY_SECRET这两个参数后如何配置环境变量,可查阅:https://help.aliyun.com/zh/viapi/use-cases/subtitle-erase-1?spm=a2c4g.11186623.0.i30#e8eef6d3a8c0m
字幕擦除主流程代码:
使用整个API接口的时候,PYTHON需要有:
# 引入依赖包
# alibabacloud_imageenhan20190930

流程对应的PY文件以及整个应用的流程包请登陆后自行下载;
同时阿里云的这个关于需要去除水印区域的配置是在对应py文件里面的第48至51行区域;
bx=0.01, #字幕区域的左上角点x坐标相对视频宽度的占比值
by=0.03, #字幕区域的左上角点y坐标相对视频高度的占比值
bw=0.10, #字幕区域的宽度相对视频宽度的占比值
bh=0.16 #字幕区域的高度相对视频高度的占比值
假设一张图片的尺寸为640*358;即长为640,宽为358;

假设需要去除的水印为图中的这个域名;则有两个点的坐标需要知道;
其一、第一个W左上角的坐标;
其二、与右侧m右下角的坐标;
关于这个坐标如何获得呢?首先将图片通过电脑自带的图片画图编辑器打开;(注意:是系统自带编辑器,不是系统默认图片查看器或者编辑器)
打开编辑器图片后,当鼠标放在图片上时,则就会出现鼠标相对于当前图片区域对应的坐标值;

放在W左上角的时候显示:X205,Y270坐标

放在M右下角的时候显示:X417,Y292;得到这两个值后再结合上面的图片的尺寸为640*358,就能计算需要的BX、BY、BH、BW对应的值了;计算方法如下:
BX=205/640=0.32;
BY=270/358=0.75;
BH=(292-270)/358=0.06;
BW=(417-205)/640=0.33;
以上值在计算的时候,四舍五入取小数点后两位数即可,同时要注意:
bx、by、bw和bh表示一个矩形区域的位置和大小,但是您设置的值超过了范围。
您需要根据实际情况调整这些参数的值,确保矩形区域的位置和大小在合理的范围内。例如,您可以尝试减小矩形区域的大小,使其满足要求:bx + bw < 1和by + bh < 1。