(超简单)将图片转换为ASCII字符图像

这篇具有很好参考价值的文章主要介绍了(超简单)将图片转换为ASCII字符图像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

将一张图片转换为ASCII字符图像
原图:
(超简单)将图片转换为ASCII字符图像,Utils,java,ASCII,Image,图片,简单
效果图:
(超简单)将图片转换为ASCII字符图像,Utils,java,ASCII,Image,图片,简单文章来源地址https://www.toymoban.com/news/detail-690416.html

import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class ImageToASCII {

    /**
     * 将图片转换为ASCII艺术字符图像
     *
     * @param imgPath 图片路径(包括图片名)
     * @param outPath 生成的文本路径(包括文件名)
     */
    public static void imageToASCII(String imgPath, String outPath) {
        // 表示不同灰度级别的ASCII字符
        final String base = "MNHQ&OC?7>!;:-.";
        StringBuffer result = new StringBuffer("");
        try {
            long start = System.currentTimeMillis();
            System.out.println("开始执行:");
            BufferedImage bufferedImage = ImageIO.read(new File(imgPath));
            // 使用嵌套的循环遍历图像的像素,每次处理一个区块(36 x 9像素)当前为 i=3 x j=2。
            for (int i = 0; i < bufferedImage.getHeight(); i += 3) {
                for (int j = 0; j < bufferedImage.getWidth(); j += 2) {
                    int pixel = bufferedImage.getRGB(j, i); // 下面三行代码将一个数字转换为RGB数字
                    int red = (pixel & 0xff0000) >> 16;
                    int green = (pixel & 0xff00) >> 8;
                    int blue = (pixel & 0xff);
                    float gray = 0.299f * red + 0.578f * green + 0.114f * blue;
                    int index = Math.round(gray * (base.length() + 1) / 255);
                    result.append(index >= base.length() ? " " : String.valueOf(base.charAt(index)));
                }
                result.append("\r\n");
            }
            FileWriter fileWriter = new FileWriter(outPath);
            fileWriter.write(result.toString());
            fileWriter.flush();
            fileWriter.close();
            long end = System.currentTimeMillis();
            System.out.println("执行结束:共执行 " + (end - start) + "毫秒");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        imageToASCII("E:\\images\\水娃.jpg", "E:\\images\\222.txt");
    }
}

到了这里,关于(超简单)将图片转换为ASCII字符图像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt将十二位整形十进制转换成十六进制,在转为ascii字符,并下发串口。在接受端完整还原这个十二位的十进制数。

    可以按照以下步骤进行操作: 将十进制数123456789012转换成十六进制字符串: 其中, %1 表示替换第1个参数, 0 表示输出的最小位数为0, 16 表示输出的进制为16, ull 表示无符号长长整型。 2. 将十六进制字符串转换成ASCII字符:

    2024年02月05日
    浏览(31)
  • PDF处理控件Aspose.PDF功能演示:使用Java将Base64字符串转换为PDF/JPG/PNG图像

    Aspose.PDF  是一款高级PDF处理API,可以在跨平台应用程序中轻松生成,修改,转换,呈现,保护和打印文档。无需使用Adobe Acrobat。此外,API提供压缩选项,表创建和处理,图形和图像功能,广泛的超链接功能,图章和水印任务,扩展的安全控件和自定义字体处理。 Aspose API支持

    2024年02月04日
    浏览(59)
  • MATLAB 图像处理 (二值化,image图片黑白处理)

    Q: MATLAB如何将图片进行 二值化 ,并将 二值化后图片 中的 黑色变成白色 , 原本的白色保持不变,黑白之间的黑色轮廓保持不变。 A: 使用 MATLAB 中的 imbinarize 函数 进行图片二值化。将指定阈值以下的像素值设为 0,其他像素值设为 1。 然后可以使用逻辑取反运算符 ~ (波浪线

    2023年04月08日
    浏览(28)
  • Base64字符串与图片的相互转换

    本篇博客记载的是一个我们在开发过程中很常用的一个小功能,就是我们在处理图片的时候做数据存放到数据库的功能, 我们存放的不再是本地路径而是一个Base64的字符串! 然后我们在取值的时候又将Base64转换为一个图片文件的做法 简单的两个步骤: Base64Util: ImageUtils: 使用

    2024年02月15日
    浏览(38)
  • 微信小程序使用rich-text解析富文本字符串的时候,遇到image标签图片很大超过屏幕

    场景 : 使用uniapp开发微信小程序,解析富文本文章需求 用到的组件: u-view2.0的u-parse  uniapp提供的rich-text 以上两种组件都是解析富文本的作用,一般用于富文本解析场景,比如解析文章内容,商品详情,带原生HTML标签的各类字符串等,此组件和uni-app官方的 rich-text 组件功能

    2024年02月13日
    浏览(37)
  • TypeError: Cannot handle this data type: (1, 1, 3), <f8和Image.fromarray()函数转换后图像失真

    错误显示1. 错误显示2. (预测为RGB图像,结果失真为黑色) 原因: 采用 matplotlib.image 读入图片数组,注意这里读入的数组是 float32 型的,范围是 0-1,而 PIL.Image 数据是 uinit8 型的,范围是0-255 (可根据 python PIL图像处理 - jujua - 博客园 (cnblogs.com) 分析) 更改方案: image=Image

    2024年02月12日
    浏览(36)
  • 常用ASCII字符集(做题用)

    以下是ASCII字符集的一部分,包括可打印字符和控制字符。ASCII(美国信息交换标准代码)是一种用于表示文本字符的字符编码标准,使用7位二进制数来表示128个不同的字符。 这是ASCII字符集的一个简短示例。其中包含了常见的可打印字符、数字和标点符号,以及控制字符。

    2024年02月08日
    浏览(29)
  • 将html字符串中的base64图片转换成file并上传

    目的 解决富文本编辑器中复制粘贴的图片 base64 字符串过长导致无法存储到数据库的问题 思路 通过正则 获取html字符串中里面的所有图片 base64 数组 然后每个图片base64 转成file 使用上传文件的函数 上传到服务器上. 将上传后获取到的图片访问url 替换成 数据里面的 img 的 src

    2024年01月23日
    浏览(43)
  • 怎么批量完成图片格式转换?介绍三种简单方法

    在日常生活和工作中,我们经常会遇到需要将图片格式转换的情况,无论是为了适应不同的设备要求,还是为了能让我们的图片应用到更多的使用场景中去,批量图片格式转换都是一项非常实用的技能。本文将介绍一些常见的批量图片格式转换方法,帮助大家提高图片处理的

    2024年04月17日
    浏览(36)
  • 算法通关村第十二关——不简单的字符串转换问题

    字符串是我们在日常开发中最常处理的数据,虽然它本身不是一种数据结构,但是由于其可以包含所有信息,所以通常作为数据的一种形式出现,由于不同语言创建和管理字符串的方式也各有差异,因此针对不同语言特征又产生了很多问题。 常见的字符串转换题目,也就是在

    2024年02月10日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包