当前位置: 首页 > news >正文

【linux】Ubuntu 22.04.3 LTS截屏

一、快捷键

交互式录屏  Shift+CtrltAlt+R
交互式截图  Print
对窗口进行截图  Alt+Print
截图  Shift+Print

快捷键可能取决于使用的桌面环境和个人的键盘快捷键设置。如果上述快捷键不起作用,可能需要检查系统设置中的键盘快捷键部分,以了解系统中截图的快捷键是什么,或者进行自定义设置。在GNOME桌面,可以通过 "设置" -> "键盘" 中找到和设置快捷键。

二、使用第三方截图工具进行截屏

Shutter

1.安装Shutter:在终端中输入以下命令安装Shutter:

sudo apt-get install shutter

2.打开Shutter:在应用程序菜单中找到并打开Shutter。

3.选择截图区域:在Shutter界面中,您可以选择全屏、窗口或自定义区域进行截图。

4.编辑截图:在截图完成后,您可以使用Shutter提供的编辑工具对截图进行编辑,如添加文字、绘制形状、应用滤镜等。

5.保存截图:编辑完成后,点击“保存”按钮将截图保存到计算机上。

6.在GNOME桌面,可以通过 "设置" -> "键盘" 中找到和设置自定义快捷键。

自定义快捷键可以设置以下命令:

shutter -s 或者shutter –select:自由选取。

shutter -a (a表示active):截取当前活动窗口。

三、从截图中提取文字

要在Debian中截图并从截图中提取文字,可以使用以下步骤:

1. 安装截图工具:在Debian中,可以使用默认的截图工具或第三方截图工具,如GNOME Screenshot、Shutter等。

2. 截图:使用截图工具,选择要截取的区域或全屏进行截图。

3. 打开截图:将截图保存到计算机上,然后使用图像查看器或编辑器打开它。

4. 提取文字:在Debian中,可以使用OCR(光学字符识别)工具从图像中提取文字。一些流行的OCR工具包括Tesseract和Google Cloud Vision API等。以下是在Debian中使用Tesseract进行文字提取的步骤:

a. 安装Tesseract OCR:在终端中使用以下命令安装Tesseract:

sudo apt-get install tesseract-ocr

可能还需要安装特定的语言数据包,例如安装简体中文的数据包命令如下:

sudo apt-get install tesseract-ocr-chi-sim

b. 将图像转换为灰度图像:在终端中使用以下命令将图像转换为灰度图像,以方便Tesseract进行文字识别:

convert input.png -colorspace gray output.png

c. 使用Tesseract进行文字提取:在终端中使用以下命令进行文字提取:

tesseract output.png output -l chi_sim

这将使用Tesseract从图像中提取文字,并将结果保存到名为“output.txt”的文件中。您可以根据需要调整语言参数(如“chi_sim”表示简体中文)。
5. 打开提取的文字:使用文本编辑器或记事本等应用程序打开提取的文字文件。您将看到从截图中识别的文字内容。

6. 除了命令行工具之外,还有一些图形界面的应用程序也提供了OCR功能,例如GImageReader,这是一个基于Tesseract的GUI前端。要安装它,可以使用APT:

sudo apt install gimagereader

安装后,可以通过应用程序菜单启动GImageReader,然后按照应用内提供的说明使用OCR提取功能。

OCR技术并不完美,它的准确性可以受到图像质量、字体大小、布局复杂性以及OCR引擎本身的限制影响。因此,提取的文本可能需要手动校正。 

相关文章:

  • VS游戏打包教程
  • 洛谷最经典题目之--垂直柱状图
  • 面试宝典之消息中间件面试题
  • set -e的作用
  • 【踩坑】flask_uploads报错cannot import name ‘secure_filename‘
  • 简单的天天酷跑小游戏实现
  • 全自动网页生成系统网站源码重构版
  • 基于SpringBoot+Vue实现的二手交易系统
  • openssl3.2 - 自己构建openssl.exe的VS工程(在编译完的源码版本上)
  • TensorRT模型优化模型部署(七)--Quantization量化(PTQ and QAT)(二)
  • 观成科技-加密C2框架EvilOSX流量分析
  • Rustdesk打开Win10 下客户端下面服务不会自启,显示服务未运行
  • ros2+gazebo(ign)激光雷达+摄像头模拟
  • R语言【base】——tempfile():返回一个字符串向量,这些字符串可以用作临时文件的名称
  • Three.js 纹理贴图的实现
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • classpath对获取配置文件的影响
  • CSS实用技巧
  • javascript面向对象之创建对象
  • MySQL-事务管理(基础)
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 精彩代码 vue.js
  • 漂亮刷新控件-iOS
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 试着探索高并发下的系统架构面貌
  • 用element的upload组件实现多图片上传和压缩
  • ​如何在iOS手机上查看应用日志
  • #define与typedef区别
  • (4)STL算法之比较
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (层次遍历)104. 二叉树的最大深度
  • (二)PySpark3:SparkSQL编程
  • (分布式缓存)Redis持久化
  • (三)c52学习之旅-点亮LED灯
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (算法)Travel Information Center
  • (一)UDP基本编程步骤
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • ****** 二十三 ******、软设笔记【数据库】-数据操作-常用关系操作、关系运算
  • .apk 成为历史!
  • .libPaths()设置包加载目录
  • .NET的微型Web框架 Nancy
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • @vue/cli 3.x+引入jQuery
  • @在php中起什么作用?
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [ 隧道技术 ] 反弹shell的集中常见方式(四)python反弹shell
  • [BJDCTF 2020]easy_md5
  • [BROADCASTING]tensor的扩散机制
  • [C++]priority_queue的介绍及模拟实现
  • [EMWIN]FRAMEWIN 与 WINDOW 的使用注意