首页 > 其他分享 >photon rust 图像处理库

photon rust 图像处理库

时间:2023-10-27 09:45:02浏览次数:38  
标签:odwyer image base64 photon 图像处理 output silvia rust

photon 是一个基于rust 开发的图像处理库,同时也支持基于WebAssembly的处理

参考nodejs 使用

  • 添加依赖
{
  "name": "image-demo",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "@silvia-odwyer/photon-node": "^0.3.3"
  }
}
  • 代码使用
    一个图像灰度处理的
 
var fs = require('fs');
 
var photon = require("@silvia-odwyer/photon-node");
 
function grayscaleImage() {
    // read file, then convert to base64
    var base64 = fs.readFileSync(`input.png`, { encoding: 'base64' });
    let data = base64.replace(/^data:image\/(png|jpg);base64,/, "");
 
    // convert base64 to PhotonImage
    var phtn_img = photon.PhotonImage.new_from_base64(data);
 
    photon.grayscale(phtn_img);
 
    // get base64 from filtered image, and write 
    let output_base64 = phtn_img.get_base64();
    let output_image_name = "output.png";
    var output_data = output_base64.replace(/^data:image\/\w+;base64,/, '');
 
    fs.writeFile(output_image_name, output_data, {encoding: 'base64'}, function(err) {
    });
    console.log(`Saved ${output_image_name}`);
 
}
 
grayscaleImage();

说明

photon node 包是基于了wasm-pack 开发的

参考资料

https://github.com/silvia-odwyer/photon
https://github.com/silvia-odwyer/photon/blob/master/crate/src/lib.rs
https://silvia-odwyer.github.io/photon/
https://github.com/rustwasm/wasm-pack
https://silvia-odwyer.github.io/photon/guide/using-photon-node/

标签:odwyer,image,base64,photon,图像处理,output,silvia,rust
From: https://www.cnblogs.com/rongfengliang/p/17791052.html

相关文章

  • 20_rust的Trait
    TraitTrait告诉Rust编译器某些类型具有哪些并可与其它类型共享的功能。Trait:抽象的定义共享行为。Traitbounds(约束):泛型类型参数指定为实现了特定行为的类型。Trait与其它语言的接口(interface)类似,但有些区别。定义一个TraitTrait的定义:把方法签名放在一起,来定义实现某种目的......
  • esp32笔记[9]-rust的串口收发及GCODE解析
    摘要使用rust在no-std环境下实现esp32-c3串口收发及gcode解析.平台信息esp32c3rust超链接esp32笔记[7]-使用rust+zig开发入门使用rust实现串口中断示例代码:serial_interrupts.rs//!ThisshowssomeoftheinterruptsthatcanbegeneratedbyUART/Serial.//!Us......
  • OpenCV4 :基础图像处理与操作(一)
    OpenCV4:基础图像处理与操作(一)目录图像的基本概念与术语图像表示基础术语图像读取与显示方法C++示例色彩空间的理解与转换色彩空间RGB(红绿蓝)CMYK(青色、黄色、品红、黑色)HSV(色相、饱和度、明度)色彩转换图像对象的创建与赋值C++示例基础图像操作:像素读写与算术运算像素读写算术运......
  • 18_rust的错误处理
    错误处理不可恢复的错误与panic!宏rust语言的错误处理:rust语言具有较高的可靠性,有完备的错误处理机制,大部分情况下,能在编译是提示错误,并处理完错误。rust没有类似异常处理的机制错误的分类:可恢复错误:使用Result<T,E>机制,如文件未找到,可再次尝试。不可恢复:bug,使用panic!......
  • Window 上 VS Code 无法编译Rust 文件的错误
    Window上VSCode无法编译Rust文件的错误error:linker`link.exe`notfound在CMD中运行以下命令1.rustuptoolchaininstallstable-x86_64-pc-windows-gnu2.rustupdefaultstable-x86_64-pc-windows-gnu参考:https://blog.csdn.net/Libigtong/article/details/131823204......
  • mysql log_bin_trust_function_creators
    原文链接:https://blog.csdn.net/ayqy42602/article/details/98770328在本地Mysql中创建函数时,报错如下:thisfunctionhasnoneofdeterministic,nosql,orreadssqldatainitsdeclarationandbinaryloggingisenabled(you*might*wanttousethelesssafelog_bin_......
  • 图像处理
    什么是BMP图像?BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。这种格式的特点是包含的图像信息较丰富,几乎不进行压缩,但由此导致......
  • wasm-pack 基于rust 的 WebAssembly 开发工具
    目前基于WebAssembly的应用是越来越多了,同时周边工具以及生成也越来越强大了,wasm-pack是rust周边一个很强大的工具,以下是一个简单的试用参考使用安装 curlhttps://rustwasm.github.io/wasm-pack/installer/init.sh-sSf|sh创建简单项目......
  • esp32笔记[8]-rust的定时器中断点灯
    摘要使用rust开发esp32c3实现定时器中断点亮led灯.超链接esp32笔记[7]-使用rust+zig开发入门平台信息esp32c3rustMutex锁usecore::cell::RefCell;usecritical_section::Mutex;//no-std库专用的Mutex我们首先注意到的是静态变量BUTTON。我们需要它,因为在中断处理程......
  • Rust,linker but `link.exe` was not found
    themsvctargetsdependonthemsvclinkerbut`link.exe`wasnotfound这是提示未安装vsstudioc++组件,由于vsstudio组件较大,可以选择安装gnu的,具体如下:命令行执行下边指令rustuptoolchaininstallstable-x86_64-pc-windows-gnurustupdefaultstable-x86_64-pc-wind......