前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >python 将图片转换为txt

python 将图片转换为txt

作者头像
matinal
发布2023-10-13 19:31:02
发布2023-10-13 19:31:02
32000
代码可运行
举报
文章被收录于专栏:SAP TechnicalSAP Technical
运行总次数:0
代码可运行

安装方法:命令行输入:

代码语言:javascript
代码运行次数:0
复制
 pip3 install opencv-python
  • import cv2
  • image = cv2.imread('E:/young.jpg')
  • print(image)
  • print(type(image))
  • print(image.shape)

得到: 

[[[112 108  84]   [118 114  90]   [114 110  86]   ...   [128 126 115]   [126 126 114]   [127 127 115]]  [[110 106  82]   [114 110  86]   [112 108  84]   ...   [126 124 113]   [121 121 109]   [123 123 111]]  [[113 109  85]   [115 111  87]   [113 109  85]   ...   [122 120 110]   [125 124 114]   [120 119 109]]  ...  [[ 66  67  47]   [142 143 123]   [114 116  94]   ...   [121 119  95]   [115 113  89]   [114 112  88]]  [[ 48  50  28]   [ 99 101  79]   [105 107  85]   ...   [100  98  74]   [107 105  81]   [108 106  82]]  [[ 47  49  27]   [104 106  84]   [107 109  87]   ...   [ 97  95  71]   [111 109  85]   [108 106  82]]] <class 'numpy.ndarray'> (4000, 3000, 3)

PIL

from PIL import Image a = Image.open('E:/young.jpg') print(a)

运行结果: 

代码语言:javascript
代码运行次数:0
复制
<PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=3000x4000 at 0x21292EF7AC8>

转换成array形式: 

代码语言:javascript
代码运行次数:0
复制
from PIL import Image
import numpy as np
a = Image.open('E:/young.jpg')
print(a)
b = np.array(a)
print(b)
print(type(b))
将图片转换成简单txt
代码语言:javascript
代码运行次数:0
复制
from PIL import Image
import numpy as np
 
if __name__ == "__main__":
    image_file = 'E:/young.jpg'
    height = 100
 
    img = Image.open(image_file)
    img_width, img_height = img.size
    width = int(1.8 * height * img_width//img_height) #嘉定字符的高度是宽度的
    img = img.resize((width,height),Image.ANTIALIAS)
    pixels = np.array(img.convert('L'))
    print('type(pixels) = ', type(pixels))
    print(pixels.shape)
    print(pixels)
    chars = 'MNHQ$OC?&>!:-;.'
    N = len(chars)
    step = 256//N
    print(N)
    result = ''
    for i in range(height):
        for j in range(width):
            result += chars[pixels[i][j] // step]
        result += '\n'
    with open('E:/text.txt', mode = 'w') as f:
        f.write(result)

得到的text.txt缩小之后:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PIL
    • 将图片转换成简单txt
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档