一霎好风生翠幕,几回疏雨滴圆荷。——(宋)晏殊《浣溪沙》

时间过得好快,转眼就到了夏天,又到了骄阳似火的季节。最近忙里偷闲,做了一个新鲜玩意儿,用Python编程把图片转成了文字图,以后发朋友圈配图可以变得高级一些。没什么好说的,直接上代码。

# -*- coding:utf-8 -*-
from PIL import Image, ImageDraw, ImageFontdef pic2Text(_file, _text):img = Image.open(_file).convert("RGBA")w = 100  # 宽度固定h = int((float(img.size[1]) / float(img.size[0])) * w)  # 高度按比例得出fontSize = 20  # 输出字体大小img.thumbnail((w, h))  # 获取缩略图src = img.convert('L')  # 转换成灰度图minGrey = 255  # 最小灰度maxGrey = 0  # 最大灰度greyMap = [[0 for col in range(h)] for row in range(w)]  # 灰度图 注意 w h# 此处循环求得灰度表以及最大最小灰度值for i in range(w):for j in range(h):greyMap[i][j] = src.getpixel((i, j))  # 获取每一个点的灰度值if greyMap[i][j] > maxGrey:  # 获取最大灰度maxGrey = greyMap[i][j]if greyMap[i][j] < minGrey:  # 获取最小灰度minGrey = greyMap[i][j]# 计算灰度间隔greyStep = (maxGrey - minGrey) / len(_text)# 此处生成文字图片,注意输出的时候 w 和 houtput = Image.new('RGBA', (w * fontSize, h * fontSize), (255, 255, 255))draw = ImageDraw.Draw(output)ft = ImageFont.truetype("msyhbd.ttc", fontSize)  # 注意字体支持中文for j in range(h):for i in range(w):index = int((greyMap[i][j] - minGrey) // greyStep)  # 计算出改点使用哪个字符if index >= len(_text):index = len(_text) - 1  # 注意结尾最大灰度值,防止越界draw.text((i * fontSize, j * fontSize), unicode=(_text[index], 'UTF-8'), fill=img.getpixel((i, j)), font=ft,text=_text[index])  # 汉字编码output.save(_file.split('.')[0] + '_text.png', 'PNG')if __name__ == '__main__':textList = ['猛', '龙', '过', '江']pic2Text('E:/001.jpg', textList)

如果出现错误:OSError: cannot open resource,是由于字体没有安装,安装msyhbd.ttc字体即可。最后来一张云龙兄的效果图:

这个东西还是有那么点意思的,以后碰到不太懂的可以用来吹吹逼,O(∩_∩)O哈哈~,就分享到这里吧!

参考:

1、https://github.com/winterfeel/Pic2Text/blob/master/pic2Text.py

趣味编程(一)——把图片转成文字图相关推荐

  1. python图片转文字_【收藏】图片转成文字的方法总结,python批量图片转文字信息参考源码...

    在日常办公或者学习中,往往存在这样一个工作场景,比如,"老王,我这里有一张图片,你把里面的文字信息给我整理出来",都2021年了,你真的还在手敲图片文字信息么?那么还不赶紧收藏这篇 ...

  2. 迅捷ocr文字识别软件是如何将图片转成文字的?

    大家好,今天和大家讨论一下关于图片转为文字的方法? 将图片转为文字一般被称为光学文字识别(Optical CharacterRecognition,OCR),所谓?OCR?是图像识别领域中的一个子领域 ...

  3. 微信图片转换成文字的方法

    手机里拍摄了一些文字图片资料,需要将这些图片转换成文字,但是图片过多,自己一个字一个字的敲上去,费时又费力,今天小编就教大家一个方法,用微信轻轻松松的将图片转换成文字. 1:打开微信-发现-小程序. ...

  4. python图片转换成文字的手机软件_手机如何将图片转换成文字?用这两种方法转换很简单...

    没有扫描仪怎么将纸质文档变成电子文档?图片上的文字太多想要提取没有好的方法吃苦受累的就是自己!今天分享给大家用手机将图片转换成文字的方法,轻松提取图片文字很简单! 方法一.迅捷文字识别--手机APP ...

  5. 如何将图片转化成文字?常用的解决方法

    在我们的日常生活中,都会遇到各种各样的图片,其中就有不少的图片中带有文字的,比如快递单号.地址了.思维导图等等.这些难免会有需要提取里面的文字的要求.如果文字比较少,直接通过打字提取出来.一旦多了,就 ...

  6. 【收藏】图片转成文字的方法总结,python批量图片转文字信息参考源码

    在日常办公或者学习中,往往存在这样一个工作场景,比如,"老王,我这里有一张图片,你把里面的文字信息给我整理出来",都2021年了,你真的还在手敲图片文字信息么?那么还不赶紧收藏这篇 ...

  7. php将图片转化成文字,什么软件可以将图片转换成文字,图片转换成文字的方法...

    进入软件主界面之后,可以看到在软件最上方有四个选项这里我们选择的是"极速识别",然后在右上角点击添加文件按钮,通过浏览文件位置来添加我们要转换的图片.当然可以选择添加多个文件,添加 ...

  8. python图片转文字easyocr_将图片转换成文字就是这么简单

    将图片转换成文字就是这么简单 将图片转换成文字在没有文字识别软件的时候可能会比较的麻烦,但是现在有很多的文字识别软件,所以想要将图片转换成文字不是事儿.找到OCR文字识别软件将图片转换成Word文字就 ...

  9. [批量重命名工具] 批量图片识别文字来命名文件名,很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天它来了

    很多网友想看批量图片识别成文字,用图片上的文字来修改文件名,今天他来了 因为不解决就得手动挨个挨个输入然后把文件命名好 今天又一个文件需求是这样的 图上有姓名文字,要识别出来改成每一张图跟这个一样,有 ...

最新文章

  1. NeHe OpenGL第三十九课:物理模拟
  2. java arraylist comparable_Java 两种ArrayList集合自定义对象属性排序,Comparator接口 或 Comparable接口...
  3. 在不知道根节点的情况下生成树形结构 (采用JSONObject)
  4. CSDN添加自定义栏目
  5. 大厂都想做的乙女游戏,真就迎来爆发期了?
  6. 双11的前奏,电商正在用诺贝尔经济学奖的理论等你下锅
  7. CRMEB移动端前端目录结构
  8. js text 和 html,JS DOM innerText和textContent的区别
  9. Qt工作笔记-使用QpropertyAnimation实现控件上下滑动的效果
  10. python 谷歌翻译接口_谷歌翻译python接口
  11. 深入剖析Android音频(四)AudioTrack
  12. [POJ2456]Aggressive cows(贪心,二分查找)
  13. envi 面向对象遥感图像分类
  14. 基于卷积神经网络模型的MSTAR高分辨率图像数据集识别实践
  15. Java最新面试题汇总
  16. Mybatis - <choose> 标签的用法
  17. 计算机网络类别(按照作用范围分类)
  18. 软件性能测试模拟笔试题目
  19. 产品设计和交互设计总结
  20. 斐波那契序列递归方法_斐波那契和卢卡斯序列

热门文章

  1. 计算机图像双曲线的代码,计算机图形学(二)输出图元_6_OpenGL曲线函数_5_其他曲线...
  2. hp计算机控制面板,HP5000打印机控制面板菜单解释
  3. 计算机与英语教学相结合,计算机与英语教学结合_英语论文.doc
  4. MPSDK4J 是JAVA微信公平台开发SDK,没有复杂的功能,一切源于微信API,愿你会喜欢使用。-- 题记
  5. 日语二级语法汇总(part13/16)
  6. Lontium 的 LT8619C 是一款基于 ClearEdge 技术的高性能 HDMI/双模 DP 接收器芯片
  7. 深入剖析斐波拉契数列
  8. c语言输入三个身高输出最高,输入两个人的身高,计算并输出他们的平均身高.(身高以米为单位,最后结果保留两位小数)...
  9. PAT Basic Level 1089 狼人杀-简单版 解题思路及AC代码 v0.96
  10. 响铃:智能微投兴起,卧室影院会成为真正的爆发点吗?