【小技巧】Excel指令截图不清晰?还有这3种处理方式提升清晰度!
评论
收藏

【小技巧】Excel指令截图不清晰?还有这3种处理方式提升清晰度!

经验分享
阿蓝
2024-05-11 17:46·浏览量:2871
阿蓝
发布于 2024-05-11 17:33更新于 2024-05-11 17:462871浏览

客户吐槽:“Excel 的【区域截图】指令好用是好用,但是感觉截图不够清晰  文字也比较小,有没有解决办法啊!!”

当然有的!3 种简单的处理方法给大家奉上,如果有其他更好的方法,也欢迎大家评论区补充起来,集思广益~

方式1:不使用指令截图,用键盘按键模拟操作

其实影刀的鼠标键盘指令,有时候真的很好用。想一想我们复制Excel的区域内容,如果使用鼠标键盘操作,是不是就用鼠标选择区域,然后键盘左手一个轻轻的 Ctrl+C 搞定。如果区域较大比如想复制的是所有内容,还可以用鼠标随便点一下已使用区域的某个单元格,再配合上 Ctrl+A 的全选。

把这个手操的过程转为指令,就是上面的指令所示。

因为客户想要复制的是所有内容,所以我的操作方式是:

1)获取 Excel 对象后;

2)先用【选中区域】指令,“点击”一下第一个单元格;

3)使用【键盘输入】 Ctrl+A 选中已使用区域,再输入 Ctrl+C 将其复制;

4)如果要保存到本地,就使用【保存剪贴板图片】,设置好你要保存的路径。(这里只能保存成 .png 格式,如果写成 .jpg 格式的话会报错提示)

ps:也可以在【选中区域】选中你需要截图行和列区域,再用【键盘输入】Ctrl+C 即可。

对比一下这种方式和原指令截图得到的效果,同样缩放比例在 100% 的情况下,清晰度确实提升了。


方式2:使用指令截图,再执行 Python代码放大图片

假设还是想用【区域截图】指令,那也没问题,只需要一段代码也可以实现另一种意义上的提升清晰度。

这里使用到的是 OpenCV 的 resize() 函数,不过需要注意的是这种方式并不能真正地增加图片的质量,它只是简单地修改了图片的大小,原理是:

cv2.INTER_LINEAR 是使用的插值方法,插值方法是在改变图片大小的过程种用来估计新的像素值的算法,这种方法比其他的方法(如最近邻插值)更为平滑,但是它并不能创建新的信息,只能尽可能地保留原有的信息

这段需要插入的代码如下:

import cv2
from PIL import Image
import numpy as np


# 读取图片
img = Image.open('input.png')
img = np.array(img)

# 图片的原始尺寸
print('Original Dimensions : ', img.shape)

# 设定图片的新尺寸
width = int(img.shape[1] * 1.2)
height = int(img.shape[0] * 1.2)
dim = (width, height)

# resize 图片
resized = cv2.resize(img, dim, interpolation = cv2.INTER_LINEAR)

# 图片的新尺寸
print('Resized Dimensions : ',resized.shape)

# 保存新的图片

resized_img = Image.fromarray(cv2.cvtColor(resized, cv2.COLOR_BGR2RGB))
resized_img.save('resized.jpg')

说明:

1)cv2、PIL 两个库的导入,如果提示没有安装的话,需要手动安装:

pip install opencv-python
pip install pillow

2)'input.png' 需要替换成你原本截图保存的文件路径, 'resized.jpg'则是处理后的图片需要保存的文件路径。需要自行调整。文件名可以包含英文和中文,在代码上用 PIL 库来读取图片文件就是已经做了兼容。

3)代码中设定图片的新尺寸中的 1.2 是将图片放大的系数,可以自行调整。


对比一下这种方式和原指令截图得到的效果,同样缩放比例在 100% 的情况下,图片的“大小”呈现了不同的“清晰度”。


方式3:使用指令截图,再结合 AIPower 提升图片画质

当然,我们也可以结合 AI 的能力来实现画质提升。在影刀的 AIPower 这个产品上,就提供了【图片画质提升】这个组件。只需要参考下方的流程进行组件的搭建即可。

说明:

1)AP 的流程搭建后,要进行发版才能在 RPA 中使用。

2)【输出图片】返回的是输出图片的链接,需要获取到输出图片的 url,再使用【Http下载】指令保存到本地。

3)这种方式的处理速度其实有点慢,需要根据具体的场景来选择使用。比如你并不是从 Excel 截图,而是本身就有一张图片需要提升画质,那可以考虑这种方式。


对比一下这种方式和原指令截图得到的效果,同样缩放比例在 152% 的情况下,清晰度可以看得出是有一点点提升的。


最后,对比一下几种处理方式和单单使用指令截图得到的图片信息。

方式1 比起截图,在分辨率几乎没有变化,但是位深度是 8 和 24 的区别,这也是影响清晰度的一个因素;

方式2 是通过放大图片的方式来“提升清晰度”,所以有更大的分辨率和文件大小;

方式3 和 方式1 得到的分辨率是一致的,但是文件大小却相差很大。


个人觉得几种方式都可以尝试,没有哪种好哪种不好的区别。至于选择哪种方式,还是需要你根据自己实际的需求场景来决定~

收藏2
全部评论1
最新
发布评论
评论