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

【C#生态园】从图像到视觉:Emgu.CV、AForge.NET、OpenCvSharp 全面解析

C#图像处理库大比拼:功能对比、安装配置、API概览

前言

图像处理和计算机视觉在现代软件开发中扮演着重要角色,而C#作为一种流行的编程语言,拥有许多优秀的图像处理库。本文将介绍几个用于C#的图像处理和计算机视觉库,包括ImageSharp、SkiaSharp、Magick.NET、Emgu.CV、AForge.NET和OpenCvSharp。通过对比它们的核心功能、使用场景、安装与配置以及API概览,我们可以更好地了解这些库并选择适合特定需求的工具。

欢迎订阅专栏:C#生态园

文章目录

  • C#图像处理库大比拼:功能对比、安装配置、API概览
    • 前言
    • 1. ImageSharp:一个用于C#的图像处理库
      • 1.1 简介
        • 1.1.1 核心功能
        • 1.1.2 使用场景
      • 1.2 安装与配置
        • 1.2.1 安装指南
        • 1.2.2 基本配置
      • 1.3 API 概览
        • 1.3.1 图像加载
        • 1.3.2 图像处理
    • 2. SkiaSharp:一个用于C#的图像处理库
      • 2.1 简介
        • 2.1.1 核心功能
        • 2.1.2 使用场景
      • 2.2 安装与配置
        • 2.2.1 安装方法
        • 2.2.2 基本设置
      • 2.3 API 概览
        • 2.3.1 画布绘制
        • 2.3.2 图像渲染
    • 3. Magick.NET:一个用于C#的图像处理库
      • 3.1 简介
        • 3.1.1 核心功能
        • 3.1.2 使用场景
      • 3.2 安装与配置
        • 3.2.1 安装指南
        • 3.2.2 基本设置
      • 3.3 API 概览
        • 3.3.1 图像编辑
        • 3.3.2 格式转换
    • 4. Emgu.CV:一个用于C#的计算机视觉库
      • 4.1 简介
        • 4.1.1 核心功能
        • 4.1.2 使用场景
      • 4.2 安装与配置
        • 4.2.1 安装指南
        • 4.2.2 基本设置
      • 4.3 API 概览
        • 4.3.1 特征检测
        • 4.3.2 目标跟踪
    • 5. AForge.NET:一个用于C#的图像处理和计算机视觉库
      • 5.1 简介
        • 5.1.1 核心功能
        • 5.1.2 使用场景
      • 5.2 安装与配置
        • 5.2.1 安装指南
        • 5.2.2 基本设置
      • 5.3 API 概览
        • 5.3.1 图像滤波
        • 5.3.2 动作识别
    • 6. OpenCvSharp:一个用于C#的OpenCV封装库
      • 6.1 简介
        • 6.1.1 核心功能
        • 6.1.2 使用场景
      • 6.2 安装与配置
        • 6.2.1 安装指南
        • 6.2.2 基本设置
      • 6.3 API 概览
        • 6.3.1 图像配准
        • 6.3.2 视频处理
    • 总结

1. ImageSharp:一个用于C#的图像处理库

ImageSharp 是一个用于 C# 的开源图像处理库,它提供了丰富的功能和灵活的 API,可以帮助开发者轻松处理图像。

1.1 简介

1.1.1 核心功能

ImageSharp 提供了图像加载、编辑、保存等核心功能。它支持常见的图片格式,可以对图像进行缩放、裁剪、旋转、滤镜处理等操作。

1.1.2 使用场景

ImageSharp 可以用于 Web 应用程序中动态生成缩略图、图片处理服务、图像编辑工具等场景,也可以在桌面应用程序中进行图像处理与编辑。

1.2 安装与配置

1.2.1 安装指南

你可以通过 NuGet 包管理器来安装 ImageSharp。在 Visual Studio 中,打开包管理控制台并运行以下命令:

Install-Package SixLabors.ImageSharp
1.2.2 基本配置

安装完成后,你可以在项目中引入 ImageSharp 的命名空间:

using SixLabors.ImageSharp;
using SixLabors.ImageSharp.Processing;

1.3 API 概览

1.3.1 图像加载

使用 ImageSharp 加载图像非常简单。下面是一个示例代码:

using (Image image = Image.Load("path/to/your/image.jpg"))
{// 对图像进行处理
}

你可以在 ImageSharp 的官方文档中找到更多关于 图像加载 的信息。

1.3.2 图像处理

ImageSharp 提供了丰富的图像处理功能,例如缩放、裁剪、旋转、滤镜等。下面是一个简单的图像处理示例:

// 缩放图像至指定大小
using (Image image = Image.Load("path/to/your/image.jpg"))
{image.Mutate(x => x.Resize(100, 100));image.Save("path/to/save/resized/image.jpg");
}

你可以在 ImageSharp 的官方文档中找到更多关于 图像处理 的信息。

2. SkiaSharp:一个用于C#的图像处理库

SkiaSharp 是一个跨平台、高性能的2D图形库,可用于C#开发,它提供了丰富的图像处理功能,包括绘制、渲染和滤镜等。

2.1 简介

SkiaSharp 提供了丰富的核心功能,使开发者可以轻松地处理图像和绘制图形。其主要功能如下:

2.1.1 核心功能
  • 2D 图像绘制
  • 矢量图形渲染
  • 文本渲染
  • 图像滤镜
2.1.2 使用场景

SkiaSharp 可以应用于各种项目中,例如移动应用、游戏开发、数据可视化等领域,以实现图像处理和绘制需求。

2.2 安装与配置

SkiaSharp 的安装和配置相对简单,下面介绍具体步骤。

2.2.1 安装方法

可通过NuGet来安装SkiaSharp库,可以在Visual Studio中的NuGet包管理器中搜索SkiaSharp并安装。

// 使用NuGet Package Manager控制台安装SkiaSharp
Install-Package SkiaSharp
2.2.2 基本设置

在使用SkiaSharp时,需要将SkiaSharp视图添加到项目中,并引入相关命名空间。

using SkiaSharp;
using SkiaSharp.Views.Forms;

2.3 API 概览

SkiaSharp 提供了丰富的API,以下是一些常用功能的示例代码。

2.3.1 画布绘制
// 创建SKCanvas对象
SKCanvas canvas = new SKCanvas(bitmap);// 绘制矩形
SKPaint paint = new SKPaint
{Color = SKColors.Red
};
canvas.DrawRect(new SKRect(10, 10, 100, 100), paint);

官方链接:SkiaSharp - Drawing Basics

2.3.2 图像渲染
// 加载图片
SKBitmap bitmap = SKBitmap.Decode("image.png");// 在指定位置渲染图片
canvas.DrawBitmap(bitmap, x, y);

官方链接:SkiaSharp - Bitmaps

通过SkiaSharp,开发者可以方便地实现各种图像处理和绘制操作,是C#图像处理的强大工具之一。

3. Magick.NET:一个用于C#的图像处理库

Magick.NET 是一个在 C# 中进行图像处理的强大库,它提供了丰富的功能和灵活的 API,可以帮助开发者轻松实现各种图像处理需求。

3.1 简介

3.1.1 核心功能

Magick.NET 可以进行图像处理、编辑、格式转换等操作。它支持常见的图像文件格式,包括 JPEG、PNG、GIF 等,并提供了丰富的滤镜和效果,如裁剪、缩放、旋转、加文字水印等。

3.1.2 使用场景

Magick.NET 可以广泛应用于需要对图像进行处理和编辑的场景,比如网站图片处理、批量图像处理、图像格式转换等。

3.2 安装与配置

3.2.1 安装指南

你可以通过 NuGet 包管理器或手动下载安装 Magick.NET。以下是使用 NuGet 安装的方式:

Install-Package Magick.NET-Q16-AnyCPU

更多安装方式和详细说明,请参考 Magick.NET 官方文档。

3.2.2 基本设置

安装完成后,在项目中引用 using ImageMagick; 即可开始使用 Magick.NET 的功能。

3.3 API 概览

3.3.1 图像编辑

下面是一个简单的示例,展示了如何使用 Magick.NET 对图像进行编辑:

using (MagickImage image = new MagickImage("input.jpg"))
{image.Rotate(90);image.Resize(200, 200);image.Write("output.jpg");
}

以上代码载入名为 “input.jpg” 的图像,将其旋转 90 度并调整大小为 200x200 像素,最后保存为 “output.jpg”。更多关于图像编辑的 API 可以在 Magick.NET 文档 中查阅到。

3.3.2 格式转换

Magick.NET 也提供了丰富的格式转换功能,以下是一个简单的示例代码:

using (MagickImage image = new MagickImage("input.png"))
{image.Format = MagickFormat.Jpeg;image.Write("output.jpg");
}

以上代码将名为 “input.png” 的 PNG 格式图片转换为 JPEG 格式,并保存为 “output.jpg”。更多关于格式转换的 API 可以在 Magick.NET 文档 中查阅到。

4. Emgu.CV:一个用于C#的计算机视觉库

4.1 简介

Emgu.CV是一个开源的计算机视觉库,专为C#开发。它提供了丰富的图像处理和计算机视觉功能,使得开发人员可以方便地在C#应用程序中实现各种图像处理任务。

4.1.1 核心功能

Emgu.CV库主要包含以下核心功能:

  • 图像处理:包括图像滤波、边缘检测、图像分割等功能。
  • 目标检测与识别:提供了各种目标检测和识别的算法和工具。
  • 视频处理:支持视频流的获取、处理和分析。
  • 相机标定:提供了相机标定的工具和算法。
  • 人脸识别:可以进行人脸检测和识别的相关操作。
4.1.2 使用场景

Emgu.CV适用于各种图像处理和计算机视觉应用场景,包括但不限于:

  • 工业自动化
  • 医学影像分析
  • 智能监控系统
  • 人机交互界面
  • 机器人视觉系统

4.2 安装与配置

4.2.1 安装指南

要使用Emgu.CV,首先需要下载并安装Emgu.CV的NuGet包。在Visual Studio中创建一个新的C#项目,右键点击项目名称,在弹出的菜单中选择“管理NuGet程序包”,搜索Emgu.CV并进行安装。

// 安装 Emgu.CV NuGet 包
Install-Package Emgu.CV
4.2.2 基本设置

安装完成后,需要在项目中引入Emgu.CV的命名空间,并将相关的库文件拷贝到项目的执行目录下。

using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;

4.3 API 概览

4.3.1 特征检测

Emgu.CV提供了丰富的特征检测算法,如SIFT(尺度不变特征转换)、SURF(加速稳健特征)和ORB(Oriented FAST and Rotated BRIEF)等。下面是一个简单的示例,演示了如何使用SIFT算法在两张图片中匹配关键点:

// 加载图像
Image<Gray, byte> modelImage = new Image<Gray, byte>("model.jpg");
Image<Gray, byte> observedImage = new Image<Gray, byte>("observed.jpg");// 初始化SIFT特征检测器
SIFT detector = new SIFT();// 寻找特征点
VectorOfKeyPoint modelKeyPoints = new VectorOfKeyPoint();
VectorOfKeyPoint observedKeyPoints = new VectorOfKeyPoint();
Matrix<int> indices;
Matrix<float> dist;
detector.DetectAndCompute(modelImage, null, modelKeyPoints, null);
detector.DetectAndCompute(observedImage, null, observedKeyPoints, null);// 创建比较器
BFMatcher matcher = new BFMatcher(DistanceType.L2);
matcher.Add(modelDescriptors);
matcher.KnnMatch(observedDescriptors, indices, dist, k: 2);// 绘制匹配结果
Mat result = new Mat();
Features2DToolbox.DrawMatches(modelImage, modelKeyPoints, observedImage, observedKeyPoints, indices, result, new MCvScalar(255, 255, 255), flags: Features2DToolbox.DrawMatchesFlags.NotDrawSinglePoints);

更多关于SIFT算法的信息,请参阅Emgu.CV SIFT文档。

4.3.2 目标跟踪

Emgu.CV还提供了目标跟

5. AForge.NET:一个用于C#的图像处理和计算机视觉库

AForge.NET 是一个开源的 C# 框架,用于开发图像处理、计算机视觉和人工智能相关的应用程序。它提供了丰富的图像处理和计算机视觉功能,使开发者能够轻松地实现图像识别、对象跟踪、运动检测等功能。

5.1 简介

5.1.1 核心功能

AForge.NET 提供了丰富的图像处理和计算机视觉功能,包括图像滤波、边缘检测、对象检测和跟踪、运动检测等。通过这些功能,开发者可以实现各种图像处理和计算机视觉任务。

5.1.2 使用场景

AForge.NET 可以被广泛应用于各种领域,如安防监控系统、医学影像处理、自动化生产线等需要图像处理和计算机视觉的领域。

5.2 安装与配置

5.2.1 安装指南

AForge.NET 可以通过 NuGet 包管理器进行安装。在 Visual Studio 中打开 NuGet 包管理器控制台,并执行以下命令来安装 AForge.NET 库:

Install-Package AForge
5.2.2 基本设置

安装完成后,可以在项目中引用 AForge.NET 库,并开始使用其中的功能。

5.3 API 概览

5.3.1 图像滤波

AForge.NET 提供了丰富的图像滤波功能,如高斯模糊、中值滤波、Sobel 边缘检测等。下面是一个简单的示例代码,演示如何使用 AForge.NET 进行高斯模糊处理:

using AForge.Imaging.Filters;// 加载图像
Bitmap image = new Bitmap("input.jpg");// 创建滤波器
GaussianBlur filter = new GaussianBlur();
filter.Size = 10; // 设置模糊半径// 应用滤波器
Bitmap resultImage = filter.Apply(image);// 保存结果
resultImage.Save("output.jpg");

官网链接:AForge.NET 图像滤波

5.3.2 动作识别

AForge.NET 也支持动作识别功能,用户可以利用 AForge.NET 进行基于视频流的动作识别。以下是一个简单的示例代码,演示如何使用 AForge.NET 进行简单的动作识别:

using AForge.Video;
using AForge.Video.DirectShow;// 初始化视频设备
FilterInfoCollection videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
VideoCaptureDevice videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);// 新帧到达时的处理程序
void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
{// 处理当前帧
}// 开始视频捕获
videoSource.NewFrame += new NewFrameEventHandler(video_NewFrame);
videoSource.Start();

官网链接:AForge.NET 动作识别

6. OpenCvSharp:一个用于C#的OpenCV封装库

OpenCvSharp是一个针对C#开发者的OpenCV封装库,使得使用OpenCV的功能变得更加便捷。本文将介绍OpenCvSharp的核心功能、使用场景、安装与配置方法以及API概览。

6.1 简介

6.1.1 核心功能

OpenCvSharp提供了丰富的图像处理和计算机视觉功能,包括但不限于图像处理、特征检测、目标跟踪、摄像机标定等。借助于OpenCvSharp,开发者可以快速地在C#中实现各种复杂的图像处理算法。

6.1.2 使用场景

OpenCvSharp广泛应用于工业领域的自动化生产线、智能监控系统、医学影像分析、图像识别等领域。

6.2 安装与配置

6.2.1 安装指南

可以通过NuGet来安装OpenCvSharp。在Visual Studio中打开NuGet包管理器(Tools -> NuGet Package Manager -> Manage NuGet Packages for Solution),搜索OpenCvSharp并安装即可。

6.2.2 基本设置

安装完成后,在代码中引入OpenCvSharp的命名空间:

using OpenCvSharp;

6.3 API 概览

6.3.1 图像配准

图像配准是图像处理中常见的任务,OpenCvSharp提供了丰富的图像配准方法。以下是一个简单的图像配准示例,其中假设有两张图片img1和img2,我们需要将img2配准到img1的位置:

Mat img1 = new Mat("image1.jpg", ImreadModes.Color);
Mat img2 = new Mat("image2.jpg", ImreadModes.Color);Mat H = Cv2.FindHomography(img1, img2, HomographyMethods.Ransac);Mat dst = new Mat();
Cv2.WarpPerspective(img2, dst, H, img1.Size());

以上代码中,首先加载了两张彩色图片img1和img2,然后使用FindHomography找到了img2相对于img1的单应性矩阵H,最后使用WarpPerspective将img2进行透视变换,使其与img1对齐。

6.3.2 视频处理

OpenCvSharp还提供了丰富的视频处理功能,例如视频读取、帧处理、视频保存等。以下是一个简单的视频读取和显示示例:

VideoCapture capture = new VideoCapture("input.mp4");
Mat frame = new Mat();while (true)
{capture.Read(frame);if (frame.Empty())break;Cv2.ImShow("Video", frame);Cv2.WaitKey(33);
}

以上代码中,首先通过VideoCapture加载了名为"input.mp4"的视频文件,然后循环读取视频帧并通过ImShow显示每一帧,最后通过WaitKey控制视频播放速度。

更多关于OpenCvSharp的信息,请参阅OpenCvSharp官方文档。

总结

本文分别介绍了ImageSharp、SkiaSharp、Magick.NET、Emgu.CV、AForge.NET和OpenCvSharp这六个用于C#的图像处理和计算机视觉库。通过对比它们的核心功能、使用场景、安装与配置以及API概览,读者可以全面了解这些库的特点和优势。根据实际需求,选择合适的图像处理和计算机视觉库对于开发高质量软件至关重要。

相关文章:

【C#生态园】从图像到视觉:Emgu.CV、AForge.NET、OpenCvSharp 全面解析

C#图像处理库大比拼&#xff1a;功能对比、安装配置、API概览 前言 图像处理和计算机视觉在现代软件开发中扮演着重要角色&#xff0c;而C#作为一种流行的编程语言&#xff0c;拥有许多优秀的图像处理库。本文将介绍几个用于C#的图像处理和计算机视觉库&#xff0c;包括Image…...

1、无线通信的发展概况

无线通信是指双方至少一方使用无线方式进行信息的交换与传输&#xff0c;包括移动体&#xff08;行人、车辆、船舶以及飞机&#xff09;和移动体之间的通信&#xff0c;也包括移动体与固定点&#xff08;固定点的移动电台或有线通信&#xff09;之间的通信。 随着无线通信的范围…...

虚拟机安装xubuntu

新建一个新的虚拟机&#xff0c;选择自定义安装 默认下一步 选择稍后安装操作系统 选择所要创建的系统及版本 填写虚拟机的名称及创建的虚拟机保存的位置 选择处理器和内核的数量 处理器数量指的是&#xff1a;虚拟的CPU数量。 每个处理器的内核数量指的是&#xff1a;虚拟CPU…...

携手鲲鹏,长亮科技加速银行核心系统升级

新经济周期下&#xff0c;银行净息差持续收窄、盈利压力加大、市场竞争日趋加剧。同时&#xff0c;国家相关政策不断出台&#xff0c;对金融科技的自主创新与安全可控提出了更高要求。 在这样的大背景下&#xff0c;银行业的数字化转型已经步入深水区。其中&#xff0c;核心系统…...

新鲜的Win11/10镜像,全系列下载!

下载&#xff1a;新鲜的Win11/10镜像&#xff0c;全系列下载&#xff01; | 瑆箫博客 Windows每个月都来一次例行更新&#xff0c;大吉大利今晚装机&#xff01;2024年9月份ISO镜像&#xff0c;来咯~我们不生产系统&#xff0c;我们只是大自然微软的搬运工本文提供Windows11、…...

iPhone 16系列:摄影艺术的全新演绎,探索影像新境界

在科技的浪潮中&#xff0c;智能手机摄影功能的进化从未停歇。 苹果公司即将推出的iPhone 16系列&#xff0c;以其卓越的相机升级和创新特性&#xff0c;再次站在了手机摄影的前沿。 从硬件到软件&#xff0c;从拍照体验到图像处理&#xff0c;iPhone 16系列都展现了其在移动…...

移动应用开发中的技术选择:优缺点全面解析

在移动应用开发领域&#xff0c;技术的快速演变和多样化使得开发者面临着多种选择。随着市场需求的不断变化&#xff0c;各种框架和工具应运而生。本文将分析当前主流应用开发技术的优势与劣势&#xff0c;帮助开发者选择最适合的技术栈。 一、原生开发 优势 性能卓越&#…...

宿舍管理系统的设计与实现 (含源码+sql+视频导入教程)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 宿舍管理系统拥有三个角色&#xff0c;分别为系统管理员、宿舍管理员以及学生。其功能如下&#xff1a; 管理员&#xff1a;宿舍管理员管理、学生管理、宿舍楼管理、缺勤记录管理、个人密…...

原生+jquery写自动消失的提示框

<!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>自动消失消息提示</title> <style>/…...

Android14 蓝牙 BluetoothService 启动和相关代码介绍

Android14 蓝牙 BluetoothService 启动和相关代码 文章目录 Android14 蓝牙 BluetoothService 启动和相关代码一、前言二、代码分析介绍1、蓝牙 BluetoothService 启动和相关代码&#xff08;1&#xff09;蓝牙服务相关的有几个类有&#xff1a;&#xff08;2&#xff09;几个蓝…...

【秋招笔试-支持在线评测】9.19小米秋招(已改编)-三语言题解

🍭 大家好这里是 春秋招笔试突围,一起备战大厂笔试 💻 ACM金牌团队🏅️ | 多次AK大厂笔试 | 大厂实习经历 ✨ 本系列打算持续跟新 春秋招笔试题 👏 感谢大家的订阅➕ 和 喜欢💗 和 手里的小花花🌸 ✨ 笔试合集传送们 -> 🧷春秋招笔试合集 🍒 本专栏已收集…...

动态IP与静态IP:哪种更适合用户使用?

在现代网络环境中&#xff0c;IP地址的管理对于网络的运行和安全至关重要。IP地址是网络中每一个设备的唯一标识符&#xff0c;通常分为动态IP和静态IP两种类型。每种类型都有其独特的优缺点&#xff0c;适用于不同的使用场景。本文将探讨动态IP和静态IP的特点&#xff0c;并分…...

Flowable基础篇

Flowable基础篇 课程环境说明&#xff1a; JDK8Flowable6.7.2MySQL8 一、基础知识科普 1.工作流发展 BPM(BusinessProcessManagement)&#xff0c;业务流程管理是一种管理原则&#xff0c;通常也可以代指BPMS(BusinessProcessManagementSuite)&#xff0c;是一个实现整合不同…...

SQL Server数据库简单的事务日志备份恢复

模拟数据库备份恢复过程 1.基础操作 1.创建TestDB数据库&#xff0c;并添加数据 USE [master] GO CREATE DATABASE TestDB CONTAINMENT NONE ON PRIMARY ( NAME NTestDB, FILENAME ND:\TestDB.mdf , SIZE 8192KB , MAXSIZE UNLIMITED, FILEGROWTH 65536KB ) LOG ON ( …...

二级C语言2023-3易错题

1 下列叙述中正确的是 A. 循环队列是队列的链式存储结构 B. 能采用顺序存储的必定是线性结构 C. 所有的线性结构都可以采用顺序存储结构 D. 具有两个以上指针的链表必定是非线性结构 正确答案&#xff1a;C C的陈述是正确的。线性结构是一种基本的数据结构&#xff0c;它包括…...

【2024】前端学习笔记9-内部样式表-外部导入样式表-类选择器

学习笔记 内部样式表外部导入样式表类选择器&#xff1a;class 内部样式表 内部样式表是将 CSS 样式规则写在 HTML 文档内部。通过<style>标签在 HTML 文件的<head>部分定义样式。 简单示例&#xff1a; <!DOCTYPE html><html><head><style…...

回归传统,Domino拷贝式迁移!

大家好&#xff0c;才是真的好。 前面讲太多普及型的概念&#xff0c;今天我们来点实在的内容。 在Notes/Domino的黄金年代&#xff0c;有一件事情大家干得风生水起&#xff0c;那就是Domino服务器迁移。 要么迁移到另一台硬件服务器上&#xff0c;要么迁移到新换的磁盘当中…...

商品搜索API返回值解析:关键字搜索如何优化商品推荐

优化商品推荐 关键字搜索优化&#xff1a;分析用户搜索的关键字&#xff0c;并确定每个关键字的权重&#xff0c;使用这些权重来调整搜索结果和推荐结果的相关性。 taobao.item_search 公共参数 请求地址: 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接…...

暴雨总裁孙辉:不是所有应用都要追求“大”模型

9月19日&#xff0c;在暴雨青海渠道大会上&#xff0c;暴雨总裁孙辉谈及了AI的发展趋势和暴雨的智能化战略。 当前AI依然火热&#xff0c;孙辉认为&#xff1a;“从商业应用角度看&#xff0c;从来没有一项技术进步像AI一样&#xff0c;在如此短的时间内产生如此大的影响。AI技…...

【掌桥科研-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…...

BERT推理显存爆满?7个实用技巧教你快速优化!显存优化的最佳实践指南

如果只使用BERT进行推理得到词向量&#xff0c;但显存仍然爆满&#xff0c;以下几个建议可以帮助缓解显存问题&#xff1a; 分批处理&#xff08;Batching&#xff09;&#xff1a; 即使是在推理阶段&#xff0c;也可以将输入数据分成较小的批次&#xff08;batch&#xff09;&…...

JS实现树形结构数据中特定节点及其子节点显示属性设置的技巧(可用于树形节点过滤筛选)

大家好&#xff0c;今天我要分享的是如何在树形结构的数据中&#xff0c;根据特定条件设置节点及其所有子节点的显示属性。在实际项目中&#xff0c;这种需求非常常见&#xff0c;特别是在需要动态展示和隐藏节点的情况下。下面我将通过一个具体的示例来讲解实现过程。 需求分析…...

第二证券:金价涨了!创一历史之最!

当地时间周四&#xff0c;金融商场进一步消化美联储大幅降息50个基点的利率抉择&#xff0c;认为这是为了完结美国经济“软着陆”的一次防备式降息&#xff0c;而非紧急应对阑珊风险的降息&#xff0c;加之当天公布的上星期初度申请赋闲救助人数低于预期&#xff0c;投资者对美…...

maxwell 输出消息到 kafka

文章目录 1、kafka-producer2、运行一个Docker容器&#xff0c;该容器内运行的是Zendesk的Maxwell工具&#xff0c;一个用于实时捕获MySQL数据库变更并将其发布到Kafka或其他消息系统的应用3、进入kafka容器内部4、tingshu_album 数据库中 新增数据5、tingshu_album 数据库中 更…...

青柠视频云——视频丢包(卡顿、花屏、绿屏)排查

一、问题说明 近期有客户反馈&#xff0c;接入平台的设备经常出来卡顿、花屏、录屏的情况&#xff0c;出现这样的场景很是尴尬。 客户是私有化部署在公网环境&#xff0c;于是我们联系客户&#xff0c;对问题进行追踪排查。 二、场景复现 我们现场情况确认的过程中&#xff0c;…...

单片机原理及应用

引言 单片机&#xff08;Microcontroller Unit, MCU&#xff09;作为现代电子技术的核心之一&#xff0c;广泛应用于工业自动化、消费电子、医疗设备、汽车电子、航空航天等多个领域。它集成了CPU&#xff08;中央处理器&#xff09;、存储器、输入输出接口及定时/计数器等功能…...

sql中拼接操作

SQL中的拼接操作 常用listagg聚合函数用法 也可用 XMLAGG代替上述操作 常用listagg聚合函数 LISTAGG(column, [separator]) WITHIN GROUP (ORDER BY order_by_clause)column&#xff1a;你想要连接起来的列。 [separator]&#xff1a;可选参数&#xff0c;用于指定列值之间的分…...

基于C语言+SQL Server2008实现(控制台)图书管理系统

第1章 概述 1.1项目背景 随着科技的发展&#xff0c;尤其是计算机技术的迅猛发展&#xff0c;图书馆管理的问题从以往的人工管理&#xff0c;到现在的电脑化&#xff0c;系统化&#xff0c;是对图书馆管理方法的质的飞跃&#xff0c;这些技术不仅让图书馆管理变得更加方便、快…...

Msf之Python分离免杀

Msf之Python分离免杀 ——XyLin. 成果展示&#xff1a; VT查杀率:8/73 (virustotal.com) 火绒和360可以过掉&#xff0c;但Windows Defender点开就寄掉了 提示&#xff1a;我用360测的时候&#xff0c;免杀过了&#xff0c;但360同时也申报了&#xff0c;估计要不了多久就寄…...

electron-updater实现electron全量版本更新

在 Electron 应用中使用 electron-updater 来实现自动更新功能时&#xff0c;通常你会在一个专门的模块或文件中管理更新逻辑。如果你想要使用 ES6 的 import 语法来引入 electron-updater&#xff0c;你需要确保你的项目已经配置好了支持 ES6 模块的构建工具&#xff08;如 We…...