python Opencv将图片转为字符画


Posted in Python onFebruary 19, 2021

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

# -*- 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将图片转为字符画

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
haskell实现多线程服务器实例代码
Nov 26 Python
详解在Python程序中自定义异常的方法
Oct 16 Python
Python序列操作之进阶篇
Dec 08 Python
Python 中Pickle库的使用详解
Feb 24 Python
python微信跳一跳系列之棋子定位颜色识别
Feb 26 Python
python3 property装饰器实现原理与用法示例
May 15 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
pip安装python库的方法总结
Aug 02 Python
浅析python中while循环和for循环
Nov 19 Python
浅谈Python 钉钉报警必备知识系统讲解
Aug 17 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
如何用六步教会你使用python爬虫爬取数据
Apr 06 Python
python实现批量按比例缩放图片效果
Mar 30 #Python
python放大图片和画方格实现算法
Mar 30 #Python
python实现数独游戏 java简单实现数独游戏
Mar 30 #Python
简单实现python数独游戏
Mar 30 #Python
Python使用MD5加密算法对字符串进行加密操作示例
Mar 30 #Python
windows环境下tensorflow安装过程详解
Mar 30 #Python
Python切片工具pillow用法示例
Mar 30 #Python
You might like
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
分享10段PHP常用代码
2015/11/11 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
JavaScript的strict模式与with关键字介绍
2014/02/08 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
2015/06/18 Javascript
jquery+css实现动感的图片切换效果
2015/11/25 Javascript
jquery中validate与form插件提交的方式小结
2016/03/26 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
canvas雪花效果核心代码分享
2017/02/19 Javascript
php 修改密码实现代码
2017/05/24 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
Python查询阿里巴巴关键字排名的方法
2015/07/08 Python
详解Python中映射类型(字典)操作符的概念和使用
2015/08/19 Python
python的else子句使用指南
2016/02/27 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
2019/08/12 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
html5 Canvas画图教程(9)—canvas中画出矩形和圆形
2013/01/09 HTML / CSS
Java的for语句中break, continue和return的区别
2013/12/19 面试题
大学专科求职信
2014/07/02 职场文书
党支部三会一课计划
2014/09/24 职场文书
六年级学生期末评语
2014/12/26 职场文书
硕士学位申请报告
2015/05/15 职场文书
《穷人》教学反思
2016/02/19 职场文书
2019朋友新婚祝福语精选
2019/10/10 职场文书
Python 中的单分派泛函数你真的了解吗
2021/06/22 Python
Python机器学习之决策树和随机森林
2021/07/15 Javascript