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

【JavaScript脚本宇宙】玩转图像处理:从基础到高级,这些库你不能错过!

让你的网页图像栩栩如生:六种必备图像处理库

前言

在数字图像处理中,我们经常需要对图片进行各种操作,如调整亮度、对比度、饱和度等,以达到所需的效果。为了简化这些操作并提供更丰富的功能,出现了许多专门用于图像处理的库。本文将介绍几个常用的JavaScript图像处理库,包括CamanJS、Glfx.js、PixiJS、Fabric.js、Pica和Filterous。

欢迎订阅专栏:JavaScript脚本宇宙

文章目录

  • 让你的网页图像栩栩如生:六种必备图像处理库
    • 前言
    • 1. CamanJS
      • 1.1 概述
      • 1.2 功能
      • 1.3 使用示例
    • 2. Glfx.js
      • 2.1 概述
      • 2.2 功能
      • 2.3 使用示例
      • 2.4 优缺点
    • 3. PixiJS
      • 3.1 概述
      • 3.2 功能
      • 3.3 使用示例
      • 3.4 优缺点
    • 4. Fabric.js
      • 4.1 概述
      • 4.2 功能
      • 4.3 使用示例
      • 4.4 优缺点
    • 5. Pica
      • 5.1 概述
      • 5.2 功能
      • 5.3 使用示例
    • 6. Filterous
      • 6.1 概述
      • 6.2 功能
      • 6.3 使用示例
      • 6.4 优缺点
    • 总结

1. CamanJS

1.1 概述

CamanJS是一个基于JavaScript的强大图像滤镜库,它可以在客户端实时处理图像。它提供了许多内置的滤镜效果,例如模糊、锐化、曝光调整等,同时也支持自定义滤镜。此外,CamanJS还具有图像比较功能,可以生成两个图像之间的差异图像。

1.2 功能

  • 基本操作:支持图像的裁剪、旋转、缩放等基本操作。
  • 滤镜效果:提供多种内置的滤镜效果,如模糊、锐化、黑白、棕褐色等。
  • 颜色调整:支持对图像的亮度、对比度、饱和度等进行调整。
  • 自定义滤镜:允许用户使用自定义函数来定义新的滤镜效果。
  • 图像比较:可以生成两个图像之间的差异图像。

1.3 使用示例

下面是一个简单的示例代码,展示了如何使用CamanJS来对图像应用滤镜效果:

<!-- HTML代码 -->
<img id="myImage" src="image.jpg">
<script>// JavaScript代码const myImage = document.getElementById('myImage');Caman(myImage, function () {// 应用模糊滤镜this.blur(5);// 应用对比度调整this.contrast(20);// 应用色温调整this.colorTemperature(10000);// 应用自定义滤镜this.customFilter(function (pixels) {// 自定义函数逻辑});// 生成新图像this.render();});
</script>

2. Glfx.js

2.1 概述

Glfx.js是一个基于WebGL的图像滤镜库,用于在浏览器中实现高质量的图像处理效果。它提供了一系列的图像滤镜,如模糊、边缘检测、颜色调整等,并且可以方便地进行组合使用。Glfx.js具有良好的性能和可扩展性,支持多种图像格式和尺寸。

2.2 功能

  • 图像滤镜:Glfx.js提供了多种预设的图像滤镜,包括模糊、锐化、边缘检测、浮雕等。
  • 颜色调整:可以通过Glfx.js对图像的颜色进行调整,包括亮度、对比度、饱和度、色调等。
  • 自定义滤镜:Glfx.js允许开发人员根据自己的需求自定义滤镜,以实现更加复杂的图像处理效果。

2.3 使用示例

下面是一个使用Glfx.js实现模糊效果的例子:

<!-- 引入Glfx.js库 -->
<script src="https://cdn.jsdelivr.net/npm/glfx.js@0.0.12/dist/glfx.min.js"></script><!-- 获取要处理的图像 -->
<img id="inputImage" src="path_to_your_image.jpg" alt="Input Image"><!-- 添加一个输出元素来显示处理后的图像 -->
<canvas id="outputCanvas"></canvas><!-- 处理图像 -->
<script>// 获取输入图像和输出画布var inputImage = document.getElementById('inputImage');var outputCanvas = document.getElementById('outputCanvas');// 创建Glfx.js对象,并设置输出画布的尺寸var glfx = new Glfx(outputCanvas);glfx.setSize(inputImage.width, inputImage.height);// 在Glfx.js中加载输入图像glfx.load(inputImage);// 应用模糊滤镜var blurFilter = glfx.createFilter('blur');blurFilter.radius = 5;glfx.process(blurFilter);// 绘制处理后的图像到输出画布上glfx.draw();
</script>

2.4 优缺点

优点:

  • 高性能:基于WebGL技术,Glfx.js可以利用GPU进行图像处理,提供更快的处理速度。
  • 多种滤镜:提供了丰富的预设滤镜,满足常见图像处理需求。
  • 可扩展性:允许开发人员自定义滤镜,满足特殊需求。
  • 兼容性:支持多种浏览器和设备。

缺点:

  • 依赖WebGL:需要浏览器支持WebGL才能正常工作。
  • 复杂性较高:对于不熟悉WebGL的开发者来说,可能需要花费一些时间来理解和使用Glfx.js。

3. PixiJS

PixiJS是一个基于JavaScript的高性能、轻量级的2D渲染引擎,用于构建丰富的图形界面和动画效果。它具有易于使用、可扩展性强和良好的浏览器兼容性等特点。

3.1 概述

PixiJS是一个用于创建高性能、交互式2D图形内容的库。它可以用于创建游戏、演示、广告、交互式教程等各种应用。PixiJS使用WebGL进行底层渲染,提供了简单易用的API来绘制矢量图形、位图图像、文本等内容。

3.2 功能

  • 矢量图形和位图图像绘制
  • 动画和交互效果
  • 文字渲染和排版
  • 支持多种滤镜和混合模式
  • 灵活的事件处理和用户交互

3.3 使用示例

下面是一个简单的示例,展示了如何使用PixiJS绘制一个红色正方形:

<!-- HTML -->
<canvas id="canvas"></canvas><!-- JavaScript -->
const canvas = document.getElementById('canvas');
const width = 600;
const height = 400;
const app = new PIXI.Application({ width, height });
document.body.appendChild(app.view); // 将画布添加到页面中const graphics = new PIXI.Graphics(); // 创建一个图形对象
graphics.beginFill(0xFF0000); // 设置填充颜色为红色
graphics.drawRect(50, 50, 150, 150); // 绘制一个正方形
app.stage.addChild(graphics); // 将图形添加到舞台中

在上述示例中,我们首先创建了一个画布,并初始化了一个PixiJS应用程序实例。然后,我们创建了一个图形对象,设置填充颜色为红色,并绘制了一个正方形。最后,我们将这个图形对象添加到舞台中,并在浏览器中显示结果。

3.4 优缺点

优点:

  • 高性能和低内存占用,适用于复杂图形和动画场景。
  • 易学易用,提供丰富的API和文档资源。
  • 跨平台和跨浏览器支持,可以在各种设备上运行。
  • 开放源代码,可根据需要进行定制和扩展。

缺点:

  • 对于大型项目或复杂场景,可能需要一定的优化和调优工作。
  • 对IE9及以下版本浏览器的支持有限,仅支持部分功能。

4. Fabric.js

Fabric.js是一个基于HTML5 Canvas的图像处理库,它提供了许多强大的功能,包括绘制图形、处理图片、应用滤镜等。在本章中,我们将介绍Fabric.js的基本用法以及如何使用它来为图片添加滤镜效果。

4.1 概述

Fabric.js是一个轻量级的JavaScript库,它能够使开发者轻松地在Web应用程序中创建复杂的图像处理效果。Fabric.js提供了丰富的绘图API,支持绘制直线、曲线、矩形、椭圆、多边形、文本等多种图形,并支持对这些图形进行平移、缩放、旋转、扭曲等操作。此外,Fabric.js还提供了一系列的图像处理功能,如裁剪、调整大小、翻转、旋转、颜色调整等。

4.2 功能

  • 绘制图形:支持绘制直线、曲线、矩形、椭圆、多边形、文本等多种图形。
  • 图形操作:支持对绘制的图形进行平移、缩放、旋转、扭曲等操作。
  • 图片加载:支持从URL或FileReader中加载图片。
  • 图片操作:支持对加载的图片进行裁剪、调整大小、翻转、旋转、颜色调整等操作。
  • 滤镜效果:支持多种滤镜效果,如模糊、锐化、黑白、彩色等。
  • 事件处理:支持事件绑定和处理,如鼠标事件、键盘事件等。

4.3 使用示例

下面是一个简单的示例代码,演示如何使用Fabric.js绘制一个红色的矩形并应用模糊滤镜效果:

<!DOCTYPE html>
<html>
<head><title>Fabric.js示例</title><script src="https://cdn.jsdelivr.net/npm/fabric@4.6.0/dist/fabric.min.js"></script>
</head>
<body><canvas id="canvas" width="400" height="400"></canvas><script>// 获取画布对象var canvas = new fabric.StaticCanvas('canvas');// 创建一个红色的矩形对象var rect = new fabric.Rect({left: 50,top: 50,width: 100,height: 100,fill: 'red'});// 将矩形对象添加到画布上canvas.add(rect);canvas.renderAll();// 对矩形应用模糊滤镜效果rect.filters = [new fabric.ImageFilters.Blur()];rect.applyFilters();canvas.renderAll();</script>
</body>
</html>

在上面的代码中,我们首先创建了一个StaticCanvas对象,表示一个静态的画布。然后创建了一个红色的矩形对象Rect,并将其添加到画布上。接下来,我们对矩形应用了模糊滤镜效果,并重新渲染了画布。最后的效果是,画布上会显示一个红色的矩形,并且该矩形会有一个模糊的效果。

4.4 优缺点

Fabric.js的优点包括:

  • 强大的绘图功能:Fabric.js提供了丰富的绘图API和工具,使开发者能够轻松地创建各种复杂的图形和图像处理效果。
  • 灵活的扩展性:Fabric.js具有良好的可扩展性和定制性,开发者可以根据自己的需求对其进行扩展和修改。
  • 良好的兼容性:Fabric.js能够在各种现代浏览器上运行,具有良好的兼容性。
  • 活跃的社区支持:Fabric.js拥有一个活跃的开发社区和用户社区,可以提供及时的支持和帮助。

5. Pica

Pica是一个基于JavaScript的图像处理库,专注于高质量的图像缩放。它使用先进的算法和优化技术来提供出色的图像质量,同时保持高效的性能。Pica适用于各种场景,包括图像处理、图形库、Web应用、移动应用和服务器端图像处理。

5.1 概述

Pica是一个轻量级的库,大小只有几KB,并且不需要依赖其他库或框架。它支持多种图像格式,包括JPEG、PNG和WEBP等。Pica还具有灵活的API设计,使开发人员可以轻松地进行集成和扩展。

5.2 功能

  • 图像缩放:Pica提供了高质量的图像缩放算法,可以按照任意比例缩放图像。它支持多种缩放方式,包括像素插值、区域缩放和自定义过滤器等。通过使用Pica,开发人员可以轻松地实现高质量的图像缩放效果。
  • 图像旋转:除了图像缩放之外,Pica还支持图像旋转。开发人员可以轻松地将图像旋转到任意角度,并且可以选择是否保持图像的比例。
  • 图像平移:Pica还支持图像平移,开发人员可以将图像沿水平或垂直方向平移,并且可以选择是否保持图像的比例。
  • 图像滤镜:Pica提供了多种图像滤镜,包括模糊、锐化、灰度、反转等。开发人员可以轻松地为图像添加各种效果,以满足不同的需求。
  • 渐进式JPEG解码:Pica还支持渐进式JPEG解码,可以逐步显示JPEG图像,提高用户体验。

5.3 使用示例

以下是一个使用Pica进行图像缩放的例子:

const pica = require('pica');
const fs = require('fs');// 读取原始图像
const originalImage = fs.readFileSync('original.jpg');// 创建一个新的画布
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');// 设置画布大小为原始图像的两倍
canvas.width = originalImage.width * 2;
canvas.height = originalImage.height * 2;// 使用Pica将原始图像缩放到新画布上
pica.resize(originalImage, ctx, { quality: 3 }).then(() => {// 将画布导出为JPEG图片const newImage = canvas.toDataURL('image/jpeg');console.log(newImage); // 输出新的JPEG图片的Base64编码
});

6. Filterous

Filterous是一个基于JavaScript的图像滤镜库,提供了多种图像处理功能和视觉效果。

6.1 概述

Filterous是一个轻量级的JavaScript库,用于图像处理和增强。它提供了各种滤镜和效果,可以实时应用到图像上,而无需在服务器上进行处理。此外,Filterous还支持缩放、旋转、平移等基本的图像变换操作。

6.2 功能

  • 多种滤镜效果:模糊、锐化、灰度、棕褐色、黑白、亮度对比度等。
  • 图像变换:缩放、旋转、平移、翻转。
  • 自定义滤镜:支持创建自己的滤镜。
  • 实时预览:在浏览器中实时预览滤镜效果。
  • 触摸屏支持:支持触摸屏设备的手势操作。

6.3 使用示例

下面是一个简单的使用示例,演示如何使用Filterous为图片应用模糊滤镜:

<!DOCTYPE html>
<html>
<head><title>Filterous Example</title><script src="https://cdn.jsdelivr.net/npm/filterous/dist/filterous.min.js"></script>
</head>
<body><img id="image" src="path_to_image.jpg" alt="Image"><button onclick="applyFilter()">Apply Blur Filter</button><script>function applyFilter() {var image = document.getElementById('image');// 创建一个模糊滤镜对象var filter = new Filterous.Emboss();// 将滤镜应用到图像上filter.apply(image);}</script>
</body>
</html>

在上面的示例中,我们首先创建了一个Emboss滤镜对象,然后使用apply方法将此滤镜应用到图像上。当用户点击按钮时,将会为图像应用模糊滤镜。您可以根据需要选择不同的滤镜类型和参数。

更多详细的示例和文档可以在Filterous的官方网站上找到:Filterous - A lightweight JS library for real-time image filters。

6.4 优缺点

优点:

  • Filterous提供了丰富的图像处理功能和滤镜效果,可以满足大多数开发者的需求。
  • Filterous的使用方法简单易学,开发者可以通过简单的JavaScript代码快速实现各种图像处理效果。
  • Filterous支持对图片进行批量处理,提高了开发效率。

缺点:

  • Filterous目前还不成熟,存在一些已知的bug和问题,可能会影响用户体验。
  • Filterous的性能还有待提高,对于一些大型图片或复杂操作可能会出现卡顿或延迟现象。

总结

通过使用这些JavaScript图像处理库,我们可以轻松地实现各种图像效果,提高开发效率。它们提供了丰富的功能和灵活的可扩展性,可以满足不同场景的需求。在选择合适的库时,应考虑项目的需求、团队的技术栈以及库的性能和易用性等因素。

相关文章:

【JavaScript脚本宇宙】玩转图像处理:从基础到高级,这些库你不能错过!

让你的网页图像栩栩如生&#xff1a;六种必备图像处理库 前言 在数字图像处理中&#xff0c;我们经常需要对图片进行各种操作&#xff0c;如调整亮度、对比度、饱和度等&#xff0c;以达到所需的效果。为了简化这些操作并提供更丰富的功能&#xff0c;出现了许多专门用于图像…...

python+unity手势控制地球大小

效果图如下 具体操作如下 1 在unity窗口添加一个球体 2 给球体添加材质,材质图片使用地球图片 地球图片如下 unity材质设置截图如下 3 编写地球控制脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class test : MonoBehavio…...

CSS【实战】抽屉动画

效果预览 技术要点 实现思路 元素固定布局&#xff08;fixed&#xff09;在窗口最右侧外部js 定时器改变元素的 right 属性&#xff0c;控制元素移入&#xff0c;移出 过渡动画 transition transition: 过渡的属性 过渡的持续时间 过渡时间函数 延迟时间此处改变的是 right …...

【Linux Vim的保姆级教程】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…...

力扣668.乘法表中第k小的数

力扣668.乘法表中第k小的数 二分查找 是否有k个比mid小的数 class Solution {public:int findKthNumber(int m, int n, int k) {auto check [&](int mid) -> bool{int res0;int row 1,col n;while(row < m){if(row * col < mid){res col;if(res > k) re…...

css伪类和伪元素选择器

伪类选择器关注元素的状态和条件&#xff0c;而伪元素选择器则关注元素的视觉表现和扩展。两者都是CSS中强大的工具&#xff0c;能够帮助开发者实现复杂的样式布局和交互效果。 伪类选择器 伪类选择器在CSS中用于选择元素的特定状态或位置。以下是一些常见的伪类选择器及其使…...

第壹章第15节 C#和TS语言对比-泛型

C#提供了泛型的完整支持&#xff0c;不仅在编译时&#xff0c;运行时仍然保留泛型的类型信息&#xff0c;同时提供了更加丰富的泛型约束和更加全面的协变逆变支持。TS的泛型&#xff0c;在语法表现形式上&#xff0c;和C#差不多&#xff0c;但本质上两者是不一样的。TS的泛型&a…...

苹果电脑下载vite包错

苹果电脑下载vite包错/Users/lili/.npm/_cacache/index-v5/c5/50/b451703d03b3802b9ee6b7ff2b0bde4de7f26830eb52c904d6911c137cf8包错解决方式 解决方式&#xff1a;sudo chown -R 501:20 "/Users/wangxin/.npm"...

自动化测试git的使用

git是一款分布式的配置管理工具。本文主要讲git如何在自动化测试中安装&#xff0c;上传及拉取下载代码。 1 、git 介绍 每天早上到公司&#xff0c;从公司的git服务器上下载最新的代码&#xff0c;白天在最新的代码基础上&#xff0c;编写新的代码&#xff0c;下班时把“代码…...

MyBatis系列四: 动态SQL

动态SQL语句-更复杂的查询业务需求 官方文档基本介绍案例演示if标签应用实例where标签应用实例choose/when/otherwise应用实例foreach标签应用实例trim标签应用实例[使用较少]set标签应用实例[重点]课后练习 上一讲, 我们学习的是 MyBatis系列三: 原生的API与配置文件详解 现在…...

Jenkins构建 Maven项目(微服务)并自动发布

前面讲了docker 安装Jenkins和gitlab代码管理工具&#xff0c;接下来我们讲一下Jenkins怎么构建 Maven项目。 1. 首先Jenkins配置下面3中工具类 首先是在本地安装三个jenkins自动配置相关的工具 1.1 JDK 由于我们使用docker来启动jenkins&#xff0c;其自带有jdk&#xff0c;…...

简单易用的多功能图床Picsur

什么是 Picsur &#xff1f; Picsur 是一款易于使用、可自行托管的图片分享服务&#xff0c;类似于 Imgur&#xff0c;并内置转换功能。支持多种格式的图片&#xff0c;包括 QOI、JPG、PNG、WEBP&#xff08;支持动画&#xff09;、TIFF、BMP、GIF&#xff08;支持动画&#xf…...

数据库-查询语句习题

SELECT Sname 姓 名,year of birth: 出生年,YEAR(GETDATE())-Sage BIRTHYEAR,LOWER(SNAME) SNAME --起别名 没有特殊字符不需要引号&#xff0c;有特殊字符要加引号&#xff1b;别名&#xff08;解释作用显示给用户看&#xff09;用空格或as连接 FROM STUDENT; --消除重复行 DI…...

进程间通信以及线程的同步互斥机制

1.进程间通信机制 常用的六种通信机制&#xff1a; 管道、消息队列、共享内存、信号灯集、信号、Socket 管道&#xff08;Pipe&#xff09;和无名管道&#xff08;匿名管道&#xff09;&#xff1a; 管道是一种半双工的通信方式&#xff0c;数据只能单向流动&#xff0c;通常…...

优思学院|做车企的质量工程师转行跳槽能干嘛?

前言 质量工程师&#xff0c;是现代制造业和服务业中不可或缺的重要角色。他们负责制定和执行提高产品质量和优化业务流程的战略。这不仅涉及设立质量标准、开发测试系统&#xff0c;还包括记录生产过程中的问题并找到解决方案。尤其在汽车行业&#xff0c;由于对质量的高度要…...

ctfshow-web入门-命令执行(web53-web55)

目录 1、web53 2、web54 3、web55 1、web53 这里的代码有点不一样&#xff0c;说一下这两种的区别&#xff1a; &#xff08;1&#xff09;直接执行 system($c); system($c);这种方式会直接执行命令 $c 并将命令的输出直接发送到标准输出&#xff08;通常是浏览器&#xff…...

【INTEL(ALTERA)】make: nios2-swexample-create:未找到命令

目录 说明 解决方法 说明 由于外部内存接口英特尔 Stratix 10 FPGA IP 出现问题&#xff0c;如果在 Windows 平台上使用英特尔 Quartus Prime Pro Edition Software v20.4 或更早版本的"使用软Nios处理器进行片上调试"选项&#xff0c;编译Nios II 片上处理器调试…...

一周刷爆leetcode!(b站视频)

文章目录 一、排序思想的题目二、使用步骤1. 一、排序思想的题目 跟着b站一周刷爆leetcode这个视频开始刷一下leetcode的题目 进行一下记录啥的 二、使用步骤 1. 315. 计算右侧小于当前元素的个数 代码如下&#xff1a; 写了一下暴力解法&#xff0c;没有通过 使用归并排序…...

1.xshell传不了文件输出0000如何解决.....2.k8s中metalLB文件内容

xshell传不了文件输出0000如何解决 centos版本 1,因为没有工具下载即可 yum -y install lrzszk8s中metalLB文件内容 2.metalLB文件内容 cat metallb-native.yaml apiVersion: v1 kind: Namespace metadata:labels:pod-security.kubernetes.io/audit: privilegedpod-securit…...

01- ES6语法

1.ES6相关概念 1.1 什么是ES6 1.1.1 简介 ES6&#xff0c; 全称 ECMAScript 6.0 &#xff0c;是 JavaScript 的下一个版本标准&#xff0c;2015.06 发版。 ES6 主要是为了解决 ES5 的先天不足&#xff0c;比如 JavaScript 里并没有类的概念&#xff0c;但是目前浏览器的 Ja…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

Mac下Android Studio扫描根目录卡死问题记录

环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中&#xff0c;提示一个依赖外部头文件的cpp源文件需要同步&#xff0c;点…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...