当前位置: 首页 > news >正文

bmp图片中得到编码字符串_灰度处理之图片转字符串

图片转字符串

基本概念

灰度值

  • 把白色与黑色之间按对数关系分成若干级,称为“灰度等级”。范围一般从0到255,白色为255,黑色为0,黑白照片也称为灰度图像
  • RGB值和灰度值的换算公式 Gray=(R30+G59+B*11)/100,转换后的颜色就是RGB(Gray,Gray,Gray),这个有函数直接帮我们处理,了解即可。

字符画

  • 字符画就是用若干个字符组成,每个字符去替换原图的一块区域
  • 有些字符会更接近白色(比如.),有些会更接近黑色(比如M),根据某一块的平均灰度找到最接近的字符即可
  • 为了节约时间,字符和接近的灰色值已经给出
字符
 

用到的函数

  • 图形库函数:
 getpixel()    获取某一点的颜色
 RGBtoGRAY()   通过rgb返回对应的灰度值颜色
 GetRValue()   得到RGB值中的红色部分,返回绿、蓝部分也可以
  • 文件操作 fputc()

示例代码:

#include

原图和字符图对比:

654beb6aacf14c51565ac7f0b8aa2231.png

字符图:

48d03a91f6abd9c39501090612ce58bc.png

我用的Notepad++打开的,记事本也可以打开,但是要将字体设置小点才能看清楚


相关文章:

  • 如何用python制作app_用kivy或者python制作app
  • python在不同的软件里都能识别吗_技术教程:2个Python程序识别图片和pdf上的文字!...
  • du -sh 如何找到最大的文件夹_Linux上查找最大文件的 3 种方法
  • python **参数为什么放在最后面_求大神帮忙看一下,在运行时为啥只保留了最后一张图片...
  • cdn jquery怎么没有提示_jQuery终端模拟器——基于web的终端
  • printf 指针地址_C语言零基础入门-指针-03
  • python有颜色进度条库_wxPython实现带颜色的进度条
  • python字典的一些操作_python 字典的一些操作
  • git 如何重新登录github_GitHub多账号管理
  • 解决python脚本连接终止问题_paramiko:自动终止远程启动的进程
  • eclipse ide for c/c++_重拾《 两周自制脚本语言 》- Eclipse插件实现语法高亮
  • eclipse启动springboot项目_教程:Systemctl启动SpringBoot项目
  • 非管理员用户使用iis_(七)使用管理员身份新增使用用户
  • php制作万年历的步骤_Excel 制作偶像万年历
  • 循环buffer的实现_用PHP实现高并发服务器
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 230. Kth Smallest Element in a BST
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Angular 响应式表单之下拉框
  • javascript面向对象之创建对象
  • Joomla 2.x, 3.x useful code cheatsheet
  • MQ框架的比较
  • ubuntu 下nginx安装 并支持https协议
  • vue 配置sass、scss全局变量
  • Xmanager 远程桌面 CentOS 7
  • 从0到1:PostCSS 插件开发最佳实践
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端设计模式
  • 双管齐下,VMware的容器新战略
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 一个完整Java Web项目背后的密码
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • # 透过事物看本质的能力怎么培养?
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • ###项目技术发展史
  • #HarmonyOS:基础语法
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (2)(2.10) LTM telemetry
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C#)获取字符编码的类
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (Java)【深基9.例1】选举学生会
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (十一)图像的罗伯特梯度锐化
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • .NET Core 中的路径问题
  • .NET DataGridView数据绑定说明
  • .Net MVC + EF搭建学生管理系统
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • /etc/shadow字段详解
  • /var/log/cvslog 太大