脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - python Opencv将图片转为字符画

python Opencv将图片转为字符画

2021-01-25 00:53以后以后 Python

这篇文章主要为大家详细介绍了python Opencv将图片转为字符画的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

做了个python的小练习,网上有人是利用pil中的image来实现的,觉得opencv库挺方便的,于是利用opencv库来实现了一下,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# -*- coding: utf-8 -*-
# feimengjuan
# 实现将图片转为字符画
 
import cv2
 
ascii_char = list("$@b%8&wm#*oahkbdpqwmzo0qlcjuyxzcvunxrjft/\|()1{}[]?-_+~<>i!li;:,\"^`'. ")
 
# 将灰度值转为字符
def get_char(gray_number):
  length = len(ascii_char)
  unit = (256.0 + 1)/length
  return ascii_char[int(gray_number/unit)]
 
if __name__ == '__main__':
  image1 = cv2.imread('8.jpg')
  image = cv2.resize(image1,(85,110))
  gray = cv2.cvtcolor(image,cv2.color_bgr2gray)
  txt = ""
  for i in range(image.shape[0]):
    for j in range(image.shape[1]):
      # 对打开的图片的每个坐标的灰度值做判断,
      # 用get_char()获取该颜色灰度值对应的字符,然后拼接成字符串txt
      txt += get_char(gray[i,j])
    txt += '\n'
  print txt
  #字符画输出到文件中
  f = open('output.txt','w')
  f.write(txt)

结果是:

原图片:

python Opencv将图片转为字符画

结果:

python Opencv将图片转为字符画

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/feimengjuan/article/details/51277186

延伸 · 阅读

精彩推荐