LibVips 库Ubuntu编译

Qt使用libvips处理超大图片(GB以上图片) 一、libvips简介 libvips是一个多线程的高性能图片处理库,运行速度快,占用的内存很少,支持C,C ++,Ruby,Python,PHP,C#/ .NET,Go和Lua。可以用来对图片做算术,直方图,卷积,形态学操作,频率滤波,颜色,重采样,统计等操作,它支持从8位int到128位complex多种数字类型。支持各种图像格式,包括JPEG,TIFF,PNG,WebP,HEIC,FITS,Matlab,OpenEXR,PDF,SVG,HDR,PPM / PGM / PFM,CSV,GIF,Anal 阅读详情

前言:

更新sudo apt update

1.下载glib的代码编译

Index of /sources/glib/ (gnome.org)

tar xf glib-x.y.z.tar.gz
cd glib-x.y.z
meson setup build-dir --prefix=/home/bbb/ccc
cd build-dir
ninja
ninja test
ninja install

2.下载meson

  1. 卸载旧版本的 Meson:首先,你需要卸载系统中的旧版本 Meson,可以使用以下命令:

    sudo apt remove meson
  2. 安装最新版本的 Meson:然后,你可以使用 pip3 安装最新版本的 Meson。请确保你已经更新了 pip3 到最新版本:

    sudo pip3 install --upgrade pip

    然后安装最新版本的 Meson:

    sudo pip3 install meson
  3. 验证 Meson 版本:安装完成后,使用以下命令验证 Meson 版本:

    meson --version

3.下载cmake

在Ubuntu下安装cmake3.28.3_乌班图系统xiazaimake-优快云博客

安装 OpenSSL 开发包

sudo apt-get install libssl-dev

下载cmake文件 解压

sudo ./configure

sudo make

sudo make install

4.clone vips的release代码 或者是 下载release版本的tar

GitHub - libvips/libvips: A fast image processing library with low memory needs.

可选项库文件下载

libfftw3-dev build-essential pkg-config libglib2.0-dev libexpat1-dev libtiff5-dev libjpeg-turbo8-dev libgsf-1-dev libpng-dev  libtiff5-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libpng-dev libimagequant-dev libmagickwand-dev libpangoft2-1.0-0 libpango1.0-dev libpangocairo-1.0-0 libpango-1.0-0 libpangoxft-1.0-0 libpangox-1.0-0 liborc-0.4-dev  libomp-dev  


不然可能会出现报错 png jpg图像不支持此格式

GitHub - libvips/libvips:一个快速的图像处理库,内存需求低。

这里面可看到可选择的配置项

开始编译

tar xf libvips-x.y.z.tar.gz
cd libvips-x.y.z
meson setup build-dir --buildtype=release --optimization=3 -Dcpp_args="-fopenmp"  --prefix=/home/hs/scz/software/libvips --pkg-config-path=/usr/lib/x86_64-linux-gnu/pkgconfig --wrap-mode=forcefallback
cd build-dir
ninja
ninja test
ninja install
  • ninja test的意思就是ninja编译测试代码并运行测试,以确保项目在安装之前通过了所有的测试

  • Meson 默认会做一个调试构建。添加 发布(优化)版本。--buildtype=release

  • 在某些平台上,您可能需要在安装后运行。ldconfig

最后就可以在平台开心的引用编译

Sharp 图像处理原理与生产实践:高性能 Node.js 图片服务构建指南 图像处理是 Web 服务中高频且资源敏感的基础能力,涉及缩放、格式转换、水印、元数据管理等通用需求。其底层依赖于高效的解码器、内存友好的计算模型和稳定的原生集成机制。Sharp 通过绑定 libvips 实现延迟加载、分块流水线与多线程并行,显著突破传统 JS 图像库的内存与 I/O 瓶颈;结合 N-API 预编译二进制策略,彻底规避 node-gyp 编译风险,成为云函数与高并发场景下的事实标准。本文围绕 Sharp 的架构设计、色彩管理、内存控制及生产部署展开,覆盖从零搭建到故障降级的全链路工程实践。 阅读详情

相关推荐

Sharp为何成为Node.js图像处理的事实标准

图像处理是Web服务中典型的CPU密集型任务,传统方案如GraphicsMagick依赖子进程、Canvas受限于渲染上下文,易引发高延迟与OOM。Sharp基于libvips实现零fork、内存映射与多线程工作池,在Node.js单线程模型下达成高并发低延迟处理,本质是将图像数据流高效接入JavaScript运行时。其核心价值在于像素级光栅操作的确定性、资源可控性与生产就绪设计,广泛应用于电商图片压缩、头像裁剪、CDN预处理及AI推理前的数据管道。本文深入解析Sharp在真实线上环境中的性能边界、鲁棒性构

weixin_33725515的博客 439

手把手教你云相册项目简易开发 day1 Kafka+IDEA+Springboot+Redis+MySQL+libvips 简单运行和使用

Kafka+IDEA+Springboot+Redis+MySQL+libvips

m0_62314761的博客 477

Node.js图像处理为何首选Sharp:原理、线程与内存深度解析

图像处理是Web服务中高频且易出错的核心能力,其本质涉及像素级计算、内存生命周期管理与CPU并行调度。理解libvips流式处理架构和Sharp的零拷贝封装逻辑,是规避OOM、线程阻塞与元数据泄露的关键。Sharp通过静态链接依赖、FinalizationRegistry内存绑定、以及与libuv线程池协同的并发控制,实现了生产环境所需的确定性性能。它不提供DSL语法糖,而是将图像缩放、格式转换、EXIF清洗等操作映射为可监控、可降级、可缓存的工程原语。本文聚焦Node.js图像处理实战中的sharp.co

aoanping0730的博客 433

libvips安装部署指南:从源码编译到系统集成

本文详细介绍了libvips图像处理库的完整安装部署流程,从Meson构建系统配置解析、核心依赖与可选依赖管理,到多平台安装方法与最佳实践,最后深入讲解了自定义构建选项与优化配置。涵盖了Linux、macOS、Windows三大平台的安装方案,包括包管理器安装、源码编译安装、容器化部署等多种方式,并提供了生产环境的安全配置建议和性能优化策略。 ## Meson构建系统配置详解 libvips...

gitblog_00657的博客 1377

Windows环境利用VS2022编译 libvpx 源码教程

Windows环境利用VS2022编译 libvpx 源码教程

世界那么大,我想去看看~【随心更新,看世界去了😄】 949

解决vips.h:133: undefined reference to `vips_reduce‘ collect2: error: ld returned 1 exit status

解决vips.h:133: undefined reference to `vips_reduce‘ collect2: error: ld returned 1 exit status

空山新雨后,天气晚来秋 536

Ubuntu 16.04 LTS 安装libvips出现”Package vips was not found in the pkg-config search path”

使用libvips来操作图像,libvips的部署参考一个Node.js工程:https://github.com/lovell/sharp 在MAC下安装很顺利,到Linux环境下(Ubuntu 16.04 LTS)出现了如下问题: # pkg-config --cflags vips vips vips vips Package vips was not found in th...

a_c12345的博客 1726

libvips, 一种低内存需求的快速图像处理.zip

libvips, 一种低内存需求的快速图像处理 libvips: 图像处理库 libvips是一个 2D 图像处理库。 类似的库相比, libvips运行迅速,并且占用了很少的内存。 libvips许可于 LGPL 2.1 + 。它有 300个操作覆盖算术,直方图,卷积,形

10分钟搞定libvips安装:从零到跑通第一张图像处理命令的完整教程

libvips 是一个**快速、低内存**的图像处理库,内置 300 多个图像处理操作,支持 JPEG、PNG、WebP、HEIC、TIFF、AVIF 等几乎所有常见图片格式。这篇 libvips 安装教程带你从零开始:10 分钟内完成安装,并亲手跑通第一条图像处理命令。 ## 为什么选择 libvips? libvips 采用"按需驱动 + 水平线程"的架构:只有正在处理的像素才驻留在内存中

gitblog_00768的博客 368

libvips-8.9.1-win32-x64.tar.gz

libvips-8.9.1-win32-x64.tar.gz 官网下载下来好像总是丢失文件。需要的话可以用这个

SigmaStudio进阶技巧:如何用ADAU1701实现60段EQ与防啸叫算法

本文深入探讨了如何在ADAU1701 DSP芯片上实现专业级音频处理系统。通过精密的资源规划与架构设计,详细讲解了构建高达60段参数均衡器(EQ)的有效方法,并集成了移频与自适应陷波双策略的智能防啸叫算法。内容涵盖从SigmaStudio工程优化、算法模块组合到系统联调实战的全流程,旨在帮助中高级开发者充分利用ADAU1701性能,打造稳定、高效的音频处理解决方案。

weixin_28256233的博客 385

pkg-config --cflags -- vips vips vips vipspkg-config: exec: “pkg-config“: executab的解决方案centos+ubuntu

Package vips was not found in the pkg-config search path的解决方案

空山新雨后,天气晚来秋 906

一文读懂“数据分发服务DDS”(Data Distribution Service,RTPS,OMG)

DDS 数据分发服务(Data Distribution Service) 数据分发服务DDS(DataDistributionService)是对象管理组织(OMG)在HLA及CORBA等标准的基础上制定的新一代分布式实时通信中间件技术规范,DDS采用发布/订阅体系架构,强调以数据为中心,提供丰富的QoS服务质量策略,能保障数据进行实时、高效、灵活地分发,可满足各种分布式实时通信应用需求。DDS...

DDS技术交流推广大本营 4万+

libvips源码构建全攻略:Meson构建系统与30+可选依赖的配置秘籍

libvips 是一款以**低内存占用和高性能**著称的 C 语言图像处理库,支持 JPEG、PNG、WebP、HEIC、AVIF 等 30 余种格式。这篇文章带你从零完成 **libvips 源码构建**:讲透 **Meson 构建系统**的四步流程,并逐一梳理 **30+ 个可选依赖**的配置秘籍——装哪些库、怎么开关、如何验证,一次看懂 📦 [![libvips图像处理示例图片](htt

gitblog_00165的博客 201

Fluent验证案例03:管道中湍流流动压降计算——采用kw-sst模型计算压降更为准确。

阅读(4053) 评论(0)本案例利用Fluent计算管道中湍流流动压降。

qq_15963745的博客 877

基于51单片机的智能台灯设计:嵌入式程序设计实现

随着智能家居和物联网的快速发展,智能台灯作为一种典型的智能家居产品,已成为现代家庭中不可或缺的设备。传统的台灯只能提供简单的照明功能,而智能台灯不仅具备基础的照明功能,还能根据用户的需求进行自动调节,比如自动调节亮度、色温,甚至具备定时开关、远程控制等智能功能。本文将介绍如何基于51单片机设计一款智能台灯。我们将涉及硬件设计、嵌入式系统架构、传感器选择、调光控制、语音识别、远程控制等方面,详细阐述如何实现这些功能,并给出相关的代码和实现步骤。

2201_76125393的博客 836

从零构建高性能图片代理服务:Go + libvips 实战指南

在现代Web开发中,图片处理与优化是提升用户体验和降低带宽成本的关键环节。其核心原理是通过服务端动态处理图片,实现尺寸调整、格式转换和压缩等操作,从而减少传输数据量并适配不同设备。这项技术的核心价值在于将复杂的图片处理逻辑从业务代码中解耦,提供统一、可配置的接口,显著提升开发效率和系统可维护性。典型的应用场景包括内容社区、电商平台和资讯网站,用于优化用户上传图片的展示效果并节省CDN流量。本文聚焦于使用Go语言和libvips库构建自托管的高性能图片代理服务,深入探讨了其架构设计、缓存策略和安全加固方案,为

weixin_34187862的博客 292

构网型逆变器下垂控制与电流限幅策略研究:理论、仿真与代码实现

随着分布式发电和微电网技术的快速发展,构网型(Grid-Forming, GFM)逆变器因其能够自主建立电压和频率参考、支撑弱电网及孤岛运行而受到广泛关注。本文提出并实现了一种基于下垂控制的构网型逆变器控制策略,将逆变器等效为受控电压源,通过L型滤波器接入配电网。在公共耦合点(PCC)处实时测量三相电压和电流,计算有功和无功功率,进而采用P-w和Q-V下垂控制生成内部频率和电压幅值,合成三相参考电压。针对故障情况下过电流问题,设计了一种自适应电流限幅模块:当电流幅值超过设定上限时,动态降低电压参考系数k_s

huanghm88的专栏 156

libvips C语言API快速上手:100行代码完成图片加载、处理与保存

libvips 是一款运行快速、内存占用极低的 C 语言图片处理库,内置约 300 个操作,支持 JPEG、PNG、WebP、HEIC、AVIF、TIFF 等常见格式。本教程带你用 C 语言 API 快速完成 libvips 图片处理三步曲:加载图片 → 处理图片 → 保存图片,全部代码不超过 100 行 📸 [![libvips 图片处理示例样图:一只猫头鹰](https://raw.git

gitblog_00209的博客 166

STM32驱动HC-SR04超声波模块

本篇文章将带大家使用HAL库驱动HC-SR04超声波模块。超声波模块作为智能小车必备的模块,要学习智能小车的同学是必须掌握好这个模块的使用的。HC-SR04是一种常用的超声波传感器模块,也被称为超声波测距模块,广泛应用于各种自动化控制和测距系统中。它通常由超声波发射器、接收器、控制电路和外壳组成,可以实现非接触式的距离测量。下面是HC-SR04超声波模块的一些特性和技术参数:距离测量范围:2cm ~ 400cm(可调)。测量精度:0.3cm。工作电压:DC 5V。工作电流:15mA。

m0_49476241的博客 7684

FPGA DDR3实战(四):DDR地址映射自动化测试(1)—— 测试程序设计与代码逻辑

本文介绍了一种DDR地址映射自动化测试方案,旨在提高板卡调试效率。方案通过AXI4协议实现主从端通信,构建了包含地址控制器和测试数据生成器的模块化架构。测试程序支持突发传输、状态监控和错误检测,可灵活配置测试参数。采用状态机控制流程,先写入递增数据再读取比对,完成功能验证和性能评估。该方案可系统化验证DDR的正确性、稳定性和可靠性,相比传统手动测试显著提升效率。

FPGA_小田老师的博客 1978

Gatsby 在 Windows 上的开发环境搭建与原生模块编译排错完整指南

Gatsby 的许多插件与主题在安装时需要编译原生 Node.js 模块,其中最典型的是用于图片处理的 [gatsby-plugin-sharp](https://link.gitcode.com/i/32916700b3c794f7d01c785a3357dc17),其底层依赖 C 库 libvips 与 `sharp`。在 Windows 上若缺少对应的编译工具链(Python 与 Visua

gitblog_00928的博客 134

迟滞比较器原理及计算

为什么要用迟滞比较器 在讲迟滞比较器之前,我们先看一个案例。 在产品设计中常常需要用到电机,而电机在从运转到停止过程中需要泄放能量,这种能量大部分以电压的形式反馈回电源母线(Vbus)导致Vbus母线电压升高,特别是功率大又转速快的电机需要急刹时,产生的反馈电压更高,严重时可能导致母线上其他器件的损坏。 为了防止将电机反馈的能量泄放掉,我们需要设计一个电路来检测母线电压,当母线电压高于某一安全阈值时,打开MOSFET Q1将母线上的能量通过电阻R5以热的形式消耗掉。 假如用一般的比较器,设计如下: Vbu

sinat_15677011的博客 2万+

70、【Ubuntu】【Hugo】搭建私人博客:新建站点

本文介绍了Hugo Extended版本中的WebP图像处理功能,对比了普通版与Extended版的区别。Extended版内置libwebp引擎,可自动将JPG/PNG图片转换为体积更小的WebP格式,提升网站加载速度。文章详细演示了创建Hugo博客站点的步骤,包括使用hugo new site命令初始化项目结构,以及通过git init进行版本控制管理。最后推荐了Hugo官方主题库,为下篇讲解主题配置做铺垫。

HIT_Weston的博客 669

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WSL2 + Ubuntu 部署 OpenClaw 完整指南(上):环境搭建与依赖处理

在 WSL2 的 Ubuntu 24.04 中部署 OpenClaw,先执行 wsl --install -d Ubuntu-24.04 并补齐 build-essential、libvips-dev 等系统依赖,再用 nvm 装 Node.js 22,最后通过 TaoToken 统一 Key 接入模型跑通首个任务。官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 提供完整接入文档与配置入口。

weixin_35752645的博客 9

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ubuntu源码安装libvirt

说明:Ubuntu12.04和Ubuntu14.04 server版测试通过1.相关包的安装1)官网获取源码(http://www.libvirt.org/sources),当前我们使用的版本是1.2.52)在libvirt配置和编译前先安装部分相关包sudo apt-get install qemu-kvm libvirt-bin bridge-utilssudo apt...

weixin_34415923的博客 324

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: Ubuntu 程序创建图标方式
下一篇: Git 报错Could not resolve host
For_Cong
博客等级 码龄5年 73粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值