TinyImage图像处理库

联合创作 · 2023-09-29 22:19

TinyImage  是一个轻量级的、开源的图像处理库,支持 bmpjpegpngtiff()图像的读写与转换,支持 148162432 位的图像及其不同位深之间的转换,支持黑白、1 位灰、4 位灰、8位灰、8 位彩等 9 种颜色模式,支持50 多种基本的图像处理功能,支持超大图像,支持多页TIFF文件,支持多线程

编程语言:C++

运行平台:windows(目前只支持该平台)

编译工具:VS2017

                                       

上图是TinyImage的架构图。最外层是C风格的API,目前一共有68个接口供用户使用;中间层是输入输出层,主要负责图像文件的编解码,目前支持bmp、jpeg、png、tiff四种格式;最内层是TinyImage的内核,无论什么格式的图像,导入内核后,都统一解码成内存DIB图像,而且所有的图像处理算法也在该内核中。

V2.0.0更新内容:

             1.支持超大图像,不再有内存限制,图像数据在内存中分块存储

             2.接口设计更加合理,图像处理完毕后,返回新图像的句柄,旧图像仍旧可用

             3.添加了DPI参数的获取和设置接口

             4.在支持像素级数据读写的基础上,又添加了按行的方式的数据读写,每次可处理一行图像数据

             5.添加了几个新的图像处理算法接口

            6.把图像原点改成了左上角

            7.添加了字符打印的接口

            8.从win32升级到了x64

 

V2.0.1更新内容:

            1.修改了Tiny_SetPixel的接口功能,使之对于调色板图像,能够自动修正传进来的颜色值

 

V2.0.2更新内容:

            1.添加了对多页TIFF图像的读写功能

            2.添加了Tiny_Init()和Tiny_Uninit()两个函数

            3.给Tiny_Text()函数增加了水平打印或垂直打印的参数

            4.给Tiny_Flood()函数增加了4领域填充或8领域填充的参数

 

V2.0.3更新内容:

            1.修改了Tiny_Text()的接口功能,若传入的字体颜色和背景颜色相同,则背景颜色不起作用

            2.添加了Tiny_Perspective()透视变换接口

            3.添加了Tiny_MeanFilter()均值滤波接口

            4.添加了Tiny_MedianFilter()中值滤波接口

            5.添加了Tiny_Mix()图像融合接口

 

V2.0.4更新内容:

            1.支持大于4G的TIFF文件的保存

            2.添加了tiny_inttiny_uint两个自定义类型

            3.修改了Tiny_GetPalette()接口的功能,以便更方便访问调色板

 

V2.0.5更新内容:

            1.添加了Tiny_Merge()图像拼接的功能

 

下图是应用该库编写的演示demo:

 

浏览 1
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报