linux下使用cmake和libpng来对png图像进行读写

目标

在进行图像处理操作之前,首要任务是确保能够正确地读取图像。编写纯 C 语言代码进行图像处理时,不太适宜使用 OpenCV2。因此,为了遵循标准且便于操作,我们采用 libpng 的代码库来实现对 PNG 图像的读写。之所以选择在 Linux 系统下进行此项操作,主要是因为许多库在 Linux 环境下的安装更为便捷,例如 libpng。而在 Windows 系统下,需要下载源码、进行编译以及配置路径等一系列操作,极为繁琐,这与我们进行算法学习的初衷背道而驰。对于那些在 Windows 系统下不想安装双系统的用户,可以使用 WSL(Windows Subsystem for Linux),这对于代码学习而言也十分便利,仅需使用 Visual Studio Code 进行链接即可。

实际代码

我们首先对图像进行读取操作,以获取图像的高度(h)、宽度(w)以及通道数(c),并进行输出,同时将数据重新写入以生成一张新的图像。在使用过程中,要求系统中已安装 libpng 库,并且在源文件中利用了他人编写好的 io_png.c 和 io_png.h 文件。
文件结构如下:为了方便查阅文件中的函数,将.c与.h文件放在了同一文件夹下。
在这里插入图片描述
main文件中并没有太多内容,仅仅是简单地调用了两个函数
io_png_read_f32函数输入了一个字符串,和三个变量,最后获得图像文件的整体数据和HWC信息。得到的数据是一个一维数组。
io_png_write_f32则根据输入的数据以及HWC生成图片并保存。

#include <stdio.h>
#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值