命令行的图像查看器

vimg的Python项目详细描述


作者:Johannes Hansen

为什么?

如果你像我一样,你会花很多时间在命令行环境中。其中一件事 在这样的环境下很难处理的就是图像。

这个小工具旨在允许在命令行中快速查看图像文件。

图像使用背景色、前景色和Unicode字符的组合进行渲染 使每个字符单元以最佳方式表示原始像素。挑战是有限的 256色调色板。

在最简单的情况下,每个字符单元代表一个像素。然而,决议可以是 通过打印更好地捕获图像结构的Unicode字符而增加。 或者,可以通过在前景中混合两种可用颜色来提高颜色精度。 背景,从而失去获得的分辨率。

默认模式尝试通过优化高分辨率区域的分辨率来优化渲染 细节,并优化低细节区域的颜色精度。

安装

$ pip install vimg

要求

一种支持256色的终端。

脚本基于python的cursesopencv

用法

$ vimg path/to/image

图形用户界面模式

进入图形用户界面后,您可以在不同的查看模式之间进行切换:

Key shortcutModeDescription
^{tt3}$color(default) display optimal representation of image
^{tt4}$fastdisplay image in fast mode (reduced resolution)
^{tt5}$asciidisplay a black-and-white representation of the image
^{tt6}$edge(experimental) edge detection based rendering
^{tt7}$/^{tt8}$zoom in/out (by 30%)
^{tt9}$ ^{tt10}$ ^{tt11}$ ^{tt12}$
or arrow keys
move view (by 10%)
^{tt13}$reset zoom
^{tt14}$refresh the screen
^{tt15}$quit

注释

如果使用正确显示Unicode块元素字符的字体,结果会更好 具有全行高度,如Dejavu Sans。

限制

该脚本当前仅支持opencv(.jpg本机支持的图像文件, .png.bmp)。

待办事项

未来的计划包括:

  • 支持更多图像文件类型,例如.gif
  • 边缘检测模式的改进
  • 使opencv依赖项成为可选的
  • 改善对比度丰富的边缘处的颜色渐变

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java测试访问令牌过滤器   close()上的java Apache POI运行时异常   java为什么Eclipse中的GWT总是显示错误404?   java从socket python服务器接收消息   java mediaRecorder:start()函数失败   不关闭DB连接可能是Tomcat上Java堆溢出的原因吗?   java JFrame无法关闭   java BigQuery加载本地文件不起作用,位置有问题   java可以在递归任务中使用吗?   servlets如何从JSESSIONID加载Java HttpSession?   java将JFileChooser与PDFBox一起使用时,文件不会另存为pdf,但保存时不带扩展名   java将处理结果存储在表中   java算法发现循环世界中重叠间隔的持续时间(24小时)   在windows 10上双击Eclipse安装程序可执行文件(eclipseinstjrewin64.exe)后,java不会发生任何事情   java编译和部署自定义Solr请求处理程序   Java/Android崩溃ApacheCommonsio2。4.jar   spring web应用程序中的java集成收件箱功能   java Grizzly、Jersey和Spring自动布线问题   java如何在pom中添加jar文件依赖项。xml   关于Android中大量GUI更新编码的java概念(GUI处理程序)