【工具】图床完全指南:从选择到搭建的全方位解决方案

前言

在数字化内容创作的时代,图片已经成为博客、文档、社交媒体等平台不可或缺的元素。然而,如何高效、稳定地存储和分发图片资源,一直是内容创作者面临的重要问题。图床(Image Hosting)作为专门的图片存储和分发服务,为这个问题提供了完美的解决方案。本文将全面介绍图床的概念、分类、选择标准以及各种搭建方案。

一、图床基础概念

(一)什么是图床

图床是指专门用于存储图片并提供外链访问的服务平台。它的主要功能包括:

  1. 图片存储:提供稳定的图片存储空间
  2. 外链服务:生成可直接访问的图片URL
  3. CDN加速:通过内容分发网络提高访问速度
  4. 批量管理:支持图片的批量上传、删除、分类等操作

(二)图床的工作原理

用户上传图片
图床服务器
存储到云端
生成外链URL
CDN分发
用户访问图片

1. 上传流程

# 典型的图片上传流程
1. 用户选择图片文件
2. 客户端压缩/处理图片(可选)
3. 上传到图床服务器
4. 服务器存储图片
5. 返回图片的访问URL

2. 访问流程

# 图片访问流程
1. 用户请求图片URL
2. CDN节点检查缓存
3. 如果缓存命中,直接返回
4. 如果缓存未命中,从源站获取
5. 返回图片给用户并缓存

(三)图床的优势

1. 减轻服务器压力

  • 将图片资源分离到专门的存储服务
  • 减少主服务器的带宽和存储压力
  • 提高网站整体性能

2. 提升访问速度

  • 利用CDN全球节点加速
  • 专业的图片优化和压缩
  • 支持多种图片格式和尺寸

3. 降低成本

  • 专业的存储服务成本更低
  • 按需付费,避免资源浪费
  • 减少服务器维护成本

4. 提高可靠性

  • 多重备份保障数据安全
  • 专业的运维团队维护
  • 高可用性保证

二、图床分类与对比

(一)按服务类型分类

1. 免费图床

服务商存储空间单文件限制CDN稳定性推荐度
GitHub1GB25MB⭐⭐⭐⭐⭐
Gitee1GB1MB⭐⭐⭐
SM.MS5GB5MB⭐⭐⭐⭐
ImgBB无限32MB⭐⭐⭐

2. 付费图床

服务商价格存储空间带宽CDN推荐度
七牛云0.148元/GB/月按需0.29元/GB⭐⭐⭐⭐⭐
阿里云OSS0.148元/GB/月按需0.5元/GB⭐⭐⭐⭐⭐
腾讯云COS0.118元/GB/月按需0.5元/GB⭐⭐⭐⭐⭐
又拍云0.117元/GB/月按需0.29元/GB⭐⭐⭐⭐

3. 自建图床

方案成本技术难度可控性稳定性推荐度
服务器+Nginx⭐⭐⭐
MinIO⭐⭐⭐⭐
Chevereto⭐⭐⭐⭐

(二)按使用场景分类

1. 个人博客图床

推荐方案:GitHub + jsDelivr CDN

优势:
- 完全免费
- 稳定可靠
- 版本控制
- 全球CDN加速劣势:
- 国内访问可能较慢
- 单文件25MB限制
- 需要一定技术基础

2. 商业网站图床

推荐方案:阿里云OSS + CDN

优势:
- 高可用性
- 专业技术支持
- 丰富的API接口
- 强大的图片处理能力劣势:
- 需要付费
- 配置相对复杂

3. 临时分享图床

推荐方案:SM.MS 或 ImgBB

优势:
- 无需注册
- 操作简单
- 即传即用劣势:
- 稳定性一般
- 功能有限
- 可能有时效限制

三、主流图床服务详解

(一)GitHub图床

1. 优势特点

  • 完全免费:每个仓库1GB存储空间
  • 版本控制:支持Git版本管理
  • 全球CDN:通过jsDelivr等CDN加速
  • 高稳定性:GitHub的可靠性保证

2. 搭建步骤

第一步:创建GitHub仓库
  1. 访问 https://github.com/new
  2. 输入仓库名称,如:my-image-hosting
  3. 选择Public(公开仓库)
  4. 点击Create repository创建仓库
第二步:生成Personal Access Token
  1. 进入GitHub设置页面:SettingsDeveloper settingsPersonal access tokens
  2. 点击Generate new token
  3. 勾选repo权限(完整的仓库访问权限)
  4. 点击Generate token并保存生成的token
第三步:配置PicGo

在PicGo中添加GitHub图床配置:

{"repo": "username/my-image-hosting","branch": "main","token": "your_github_token","path": "images/","customUrl": "https://cdn.jsdelivr.net/gh/username/my-image-hosting"
}

3. 使用示例

# 原始GitHub链接
https://raw.githubusercontent.com/username/repo/main/images/photo.jpg# jsDelivr CDN链接
https://cdn.jsdelivr.net/gh/username/repo/images/photo.jpg# 在Markdown中使用
![图片描述](https://cdn.jsdelivr.net/gh/username/repo/images/photo.jpg)

(二)七牛云图床

1. 服务特点

  • 专业CDN:全球500+节点
  • 图片处理:支持实时图片处理
  • API丰富:完善的开发接口
  • 价格合理:存储和流量费用较低

2. 配置步骤

第一步:注册七牛云账号
  1. 访问 https://www.qiniu.com/
  2. 点击注册按钮完成账号注册
  3. 完成实名认证(根据需要)
第二步:创建存储空间
  1. 登录七牛云控制台
  2. 进入对象存储空间管理
  3. 点击新建存储空间
  4. 填写存储空间名称
  5. 选择存储区域(建议选择离用户较近的区域)
  6. 设置访问控制(建议选择公开空间
第三步:获取密钥
  1. 进入个人中心密钥管理
  2. 记录AccessKeySecretKey
  3. 妥善保管密钥信息
第四步:配置域名
  1. 在存储空间中绑定自定义域名
  2. 或使用七牛云提供的测试域名(有时效限制)

3. PicGo配置

{"accessKey": "your_access_key","secretKey": "your_secret_key","bucket": "your_bucket_name","url": "http://your_domain.com","area": "z0","options": "","path": "images/{year}/{month}/"
}

(三)阿里云OSS图床

1. 服务优势

  • 高可用性:99.9%的服务可用性
  • 安全可靠:多重数据保护机制
  • 弹性扩展:按需扩展存储容量
  • 图片处理:强大的图片处理服务

2. 基础配置

第一步:开通OSS服务
  1. 访问阿里云控制台:https://oss.console.aliyun.com/
  2. 点击立即开通对象存储OSS服务
  3. 根据需要选择计费方式
第二步:创建Bucket
  1. 在OSS控制台点击创建Bucket
  2. 填写Bucket名称(全局唯一)
  3. 选择地域(建议选择离用户较近的地域)
  4. 选择存储类型(标准存储、低频访问、归档存储等)
  5. 设置读写权限(建议选择公共读
  6. 点击确定创建
第三步:配置跨域规则
  1. 进入创建的Bucket管理页面
  2. 点击权限管理跨域设置
  3. 点击设置添加跨域规则:
    • 来源*(允许所有来源)
    • 允许MethodsGET, POST, PUT, DELETE, HEAD
    • 允许Headers*(允许所有请求头)

3. 使用示例

// 使用阿里云OSS SDK上传图片
const OSS = require('ali-oss');const client = new OSS({region: 'oss-cn-hangzhou',accessKeyId: 'your_access_key_id',accessKeySecret: 'your_access_key_secret',bucket: 'your_bucket_name'
});// 上传图片
async function uploadImage(file) {try {const result = await client.put(`images/${Date.now()}.jpg`, file);return result.url;} catch (error) {console.error('上传失败:', error);}
}

四、图床工具推荐

(一)PicGo - 图片上传工具

1. 功能特点

  • 多平台支持:Windows、macOS、Linux
  • 插件生态:丰富的插件扩展
  • 批量上传:支持拖拽批量上传
  • 快捷键:支持全局快捷键上传

2. 安装配置

第一步:下载安装PicGo
  1. 访问PicGo官网:https://molunerfinn.com/PicGo/
  2. 根据操作系统下载对应的安装包:
    • Windows:下载.exe安装文件
    • macOS:下载.dmg安装文件
    • Linux:下载.AppImage文件
  3. 运行安装程序完成安装
第二步:配置图床
  1. 打开PicGo应用程序
  2. 在左侧菜单选择图床设置
  3. 选择要配置的图床类型(如GitHub、七牛云等)
  4. 填写相关配置信息(密钥、存储空间等)
  5. 点击确定保存配置
  6. 点击设为默认图床
第三步:测试上传功能
  1. 上传区拖拽图片或点击上传
  2. 查看上传结果和生成的链接
  3. 确认图片可以正常访问

3. 常用插件

# GitHub Plus - 增强GitHub图床功能
npm install picgo-plugin-github-plus# 压缩插件 - 自动压缩图片
npm install picgo-plugin-compress# 水印插件 - 添加水印
npm install picgo-plugin-watermark# 重命名插件 - 自定义文件名
npm install picgo-plugin-rename-file

(二)uPic - macOS图床工具

1. 特色功能

  • 原生macOS应用:完美适配macOS
  • 多种上传方式:拖拽、快捷键、右键菜单
  • 自动压缩:智能图片压缩
  • 历史记录:完整的上传历史

2. 支持的图床

  • 七牛云
  • 阿里云OSS
  • 腾讯云COS
  • GitHub
  • Gitee
  • SM.MS

(三)Typora集成

1. 配置图片上传

在Typora中配置图片自动上传:
  1. 打开Typora编辑器
  2. 进入菜单:文件偏好设置图像
  3. 插入图片时选项中选择:上传图片
  4. 上传服务设定中选择:PicGo(app)
  5. 点击PicGo路径后的文件夹图标,选择PicGo的安装路径
  6. 点击验证图片上传选项测试配置是否正确

2. 使用体验

  • 无缝集成:粘贴图片自动上传
  • 实时预览:上传后立即显示
  • 格式转换:自动转换为Markdown格式

五、自建图床方案

(一)基于MinIO的自建图床

1. MinIO简介

MinIO是一个高性能的对象存储服务,兼容Amazon S3 API,适合自建图床。

2. 部署步骤

第一步:安装Docker

确保系统已安装Docker,如未安装请先安装Docker。

第二步:部署MinIO容器

使用以下Docker命令部署MinIO:

docker run -d \--name minio \-p 9000:9000 \-p 9001:9001 \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=password123" \-v /data/minio:/data \minio/minio server /data --console-address ":9001"
第三步:访问管理界面
  1. 打开浏览器访问:http://localhost:9001
  2. 使用以下凭据登录:
    • 用户名:admin
    • 密码:password123

3. 配置存储桶

创建存储桶步骤:
  1. 登录MinIO管理控制台
  2. 在主界面点击Create Bucket按钮
  3. 输入存储桶名称,例如:images
  4. 点击Create Bucket创建存储桶
  5. 进入存储桶设置,将访问策略设置为Public(公开访问)

4. API使用示例

// 使用MinIO JavaScript SDK
const Minio = require('minio');const minioClient = new Minio.Client({endPoint: 'localhost',port: 9000,useSSL: false,accessKey: 'admin',secretKey: 'password123'
});// 上传图片
async function uploadImage(bucketName, objectName, filePath) {try {await minioClient.fPutObject(bucketName, objectName, filePath);const url = `http://localhost:9000/${bucketName}/${objectName}`;return url;} catch (error) {console.error('上传失败:', error);}
}

(二)基于Nginx的静态文件服务

1. Nginx配置

# /etc/nginx/sites-available/image-hosting
server {listen 80;server_name your-domain.com;# 图片存储目录root /var/www/images;# 允许上传的最大文件大小client_max_body_size 10M;# 静态文件服务location / {try_files $uri $uri/ =404;# 设置缓存expires 30d;add_header Cache-Control "public, immutable";# 允许跨域add_header Access-Control-Allow-Origin *;}# 上传接口location /upload {proxy_pass http://localhost:3000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;}
}

2. 上传服务实现

// Node.js + Express 上传服务
const express = require('express');
const multer = require('multer');
const path = require('path');const app = express();// 配置文件存储
const storage = multer.diskStorage({destination: '/var/www/images/',filename: (req, file, cb) => {const uniqueName = Date.now() + '-' + Math.round(Math.random() * 1E9);const ext = path.extname(file.originalname);cb(null, uniqueName + ext);}
});const upload = multer({ storage });// 上传接口
app.post('/upload', upload.single('image'), (req, res) => {if (!req.file) {return res.status(400).json({ error: '没有上传文件' });}const imageUrl = `http://your-domain.com/${req.file.filename}`;res.json({ url: imageUrl });
});app.listen(3000, () => {console.log('上传服务启动在端口3000');
});

六、图床选择指南

(一)选择标准

1. 技术指标

**存储容量**
- 个人博客:1-10GB足够
- 商业网站:根据实际需求选择
- 大型平台:TB级别存储**访问速度**
- CDN覆盖范围
- 节点分布情况
- 国内外访问速度**稳定性**
- 服务可用性(SLA)
- 数据备份机制
- 故障恢复能力**安全性**
- 数据加密
- 访问控制
- 防盗链功能

2. 成本考虑

**免费方案适用场景**
- 个人博客
- 学习项目
- 小流量网站**付费方案适用场景**
- 商业网站
- 高流量应用
- 对稳定性要求高的项目**自建方案适用场景**
- 对数据控制要求高
- 有技术团队维护
- 长期大量使用

(二)推荐方案

1. 个人开发者

**入门推荐**:GitHub + PicGo
- 完全免费
- 操作简单
- 社区支持好**进阶推荐**:七牛云
- 专业CDN服务
- 丰富的图片处理功能
- 价格合理

2. 企业用户

**小型企业**:阿里云OSS
- 稳定可靠
- 技术支持完善
- 与其他阿里云服务集成好**大型企业**:多云架构
- 主备方案保证可用性
- 成本优化
- 风险分散

3. 特殊需求

**高安全要求**:自建MinIO
- 数据完全可控
- 可部署在内网
- 符合合规要求**海外用户**:AWS S3
- 全球覆盖最好
- 服务最成熟
- 生态最完善

七、图床使用最佳实践

(一)图片优化

1. 格式选择

**JPEG**
- 适用:照片、复杂图像
- 优势:压缩率高、兼容性好
- 劣势:有损压缩、不支持透明**PNG**
- 适用:图标、简单图形
- 优势:无损压缩、支持透明
- 劣势:文件较大**WebP**
- 适用:现代浏览器
- 优势:压缩率高、质量好
- 劣势:兼容性有限**SVG**
- 适用:矢量图形、图标
- 优势:无限缩放、文件小
- 劣势:不适合复杂图像

2. 尺寸优化

# 使用ImageMagick压缩图片
# 调整尺寸
convert input.jpg -resize 800x600 output.jpg# 压缩质量
convert input.jpg -quality 85 output.jpg# 批量处理
for file in *.jpg; doconvert "$file" -resize 800x600 -quality 85 "compressed_$file"
done

3. 自动化处理

// 使用Sharp进行图片处理
const sharp = require('sharp');async function processImage(inputPath, outputPath) {await sharp(inputPath).resize(800, 600, {fit: 'inside',withoutEnlargement: true}).jpeg({ quality: 85 }).toFile(outputPath);
}

(二)安全防护

1. 防盗链设置

# Nginx防盗链配置
location ~* \.(jpg|jpeg|png|gif|bmp|webp)$ {valid_referers none blocked server_names*.yourdomain.com yourdomain.com;if ($invalid_referer) {return 403;}
}

2. 访问控制

# 设置图片访问权限
# 1. 私有读写:需要签名访问
# 2. 公有读私有写:可直接访问,但不能上传
# 3. 公有读写:完全开放(不推荐)

3. 水印保护

// 使用Canvas添加水印
function addWatermark(canvas, text) {const ctx = canvas.getContext('2d');ctx.font = '20px Arial';ctx.fillStyle = 'rgba(255, 255, 255, 0.5)';ctx.fillText(text, canvas.width - 200, canvas.height - 30);
}

(三)性能优化

1. CDN配置

# 设置缓存策略
# 图片文件:长期缓存(30天)
# 经常变动的图片:短期缓存(1天)
# 实时图片:不缓存

2. 懒加载

<!-- 原生懒加载 -->
<img src="placeholder.jpg" data-src="actual-image.jpg" loading="lazy" alt="图片描述"><!-- 使用Intersection Observer -->
<script>
const images = document.querySelectorAll('img[data-src]');
const imageObserver = new IntersectionObserver((entries, observer) => {entries.forEach(entry => {if (entry.isIntersecting) {const img = entry.target;img.src = img.dataset.src;img.classList.remove('lazy');imageObserver.unobserve(img);}});
});images.forEach(img => imageObserver.observe(img));
</script>

3. 响应式图片

<!-- 使用srcset提供多种尺寸 -->
<img src="image-400.jpg"srcset="image-400.jpg 400w,image-800.jpg 800w,image-1200.jpg 1200w"sizes="(max-width: 400px) 400px,(max-width: 800px) 800px,1200px"alt="响应式图片">

八、常见问题与解决方案

(一)访问问题

1. 图片加载慢

**可能原因**
- CDN节点覆盖不足
- 图片文件过大
- 网络环境问题**解决方案**
- 更换CDN服务商
- 压缩图片文件
- 使用图片懒加载
- 添加loading占位符

2. 图片无法显示

**可能原因**
- 图床服务不稳定
- 防盗链限制
- 图片被删除**解决方案**
- 检查图片URL是否正确
- 确认防盗链设置
- 使用多个图床备份
- 监控图片可用性

(二)安全问题

1. 图片被盗用

**防护措施**
- 设置防盗链
- 添加水印
- 使用签名URL
- 监控流量异常

2. 恶意上传

**防护措施**
- 文件类型检查
- 文件大小限制
- 内容安全检测
- 用户权限控制

(三)成本控制

1. 流量费用过高

**优化策略**
- 图片压缩
- 缓存策略优化
- CDN配置优化
- 监控异常流量

2. 存储费用增长

**管理策略**
- 定期清理无用图片
- 设置生命周期规则
- 使用低频存储
- 压缩历史图片

九、总结

图床作为现代内容创作的重要基础设施,为开发者和内容创作者提供了高效、稳定的图片存储和分发解决方案。通过本文的详细介绍,您应该能够:

(一)核心收获

  1. 理解图床概念:掌握图床的基本原理和工作机制
  2. 选择合适方案:根据需求选择最适合的图床服务
  3. 掌握配置方法:熟练配置各种主流图床服务
  4. 优化使用体验:通过最佳实践提升图床使用效果

(二)选择建议

1. 个人用户

  • 入门:GitHub + PicGo(免费、稳定)
  • 进阶:七牛云(专业、高效)

2. 企业用户

  • 小型:阿里云OSS(可靠、完善)
  • 大型:多云架构(高可用、成本优化)

3. 特殊需求

  • 高安全:自建MinIO(可控、合规)
  • 高性能:专业CDN服务(快速、稳定)

(三)发展趋势

随着云计算和CDN技术的不断发展,图床服务正朝着以下方向演进:

  1. 智能化:AI驱动的图片优化和处理
  2. 边缘计算:更靠近用户的内容分发
  3. 多媒体支持:从图片扩展到视频、音频等
  4. 安全增强:更强的内容安全和隐私保护

选择合适的图床方案,不仅能提升内容创作效率,更能为用户提供更好的访问体验。希望本文能帮助您找到最适合的图床解决方案!

参考资料

  • PicGo官方文档
  • 七牛云对象存储文档
  • 阿里云OSS文档
  • MinIO官方文档
  • GitHub Pages文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/93402.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/93402.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习篇---PaddleDetection模型选择

PaddleDetection 是百度飞桨推出的目标检测开发套件&#xff0c;提供了丰富的模型库和工具链&#xff0c;覆盖从轻量级移动端到高性能服务器的全场景需求。以下是核心模型分类、适用场景及大小选择建议&#xff08;通俗易懂版&#xff09;&#xff1a;一、主流模型分类及适用场…

cmseasy靶机密码爆破通关教程

靶场安装1.首先我们需要下载一个cms靶场CmsEasy_7.6.3.2_UTF-8_20200422,下载后解压在phpstudy_pro的网站根目录下。2.然后我们去访问一下安装好的网站&#xff0c;然后注册和链接数据库3.不知道自己数据库密码的可以去小皮面板里面查看4.安装好后就可以了来到后台就可以了。练…

【C语言】指针深度剖析(一)

文章目录一、内存和地址1.1 内存的基本概念1.2 编址的原理二、指针变量和地址2.1 取地址操作符&#xff08;&&#xff09;2.2 指针变量和解引用操作符&#xff08;*&#xff09;2.2.1 指针变量2.2.2 指针类型的解读2.2.3 解引用操作符2.3 指针变量的大小三、指针变量类型的…

半导体企业选用的跨网文件交换系统到底应该具备什么功能?

在半导体行业的数字化转型过程中&#xff0c;跨网文件交换已成为连接研发、生产、供应链的关键纽带。半导体企业的跨网文件交换不仅涉及设计图纸、工艺参数等核心知识产权&#xff0c;还需要满足跨国协同、合规审计等复杂需求。那么&#xff0c;一款适合半导体行业的跨网文件交…

影刀RPA_初级课程_玩转影刀自动化_网页操作自动化

声明&#xff1a;相关内容来自影刀学院&#xff0c;本文章为自用笔记&#xff0c;切勿商用&#xff01;&#xff08;若有侵权&#xff0c;请联络删除&#xff09; 1. 基本概念与操作 1.1 正确处理下拉框元素&#xff08;先判断页面元素&#xff0c;后进行流程编制&#xff09;…

Spark初探:揭秘速度优势与生态融合实践

更多推荐阅读 Spark与Flink深度对比&#xff1a;大数据流批一体框架的技术选型指南-CSDN博客 LightProxy使用操作手册-CSDN博客 Sentry一看就会教程_sentry教程-CSDN博客 微前端架构解析&#xff1a;核心概念与主流方案特性对比_微前端方案对比-CSDN博客 目录 Spark为何比Hadoo…

详谈OSI七层模型和TCP/IP四层模型以及tcp与udp为什么是4层,http与https为什么是7层

一、网络模型&#xff1a;OSI七层 vs TCP/IP四层OSI七层模型 (理论参考模型):目的&#xff1a;提供一个标准化的理论框架&#xff0c;用于理解网络通信过程和各层的功能划分&#xff0c;促进不同厂商设备的互操作性。它是一个理想化的模型。分层 (从下到上):物理层&#xff1a;…

ClickHouse 高性能实时分析数据库-索引与数据跳过(查询的“瞬移”能力)

告别等待&#xff0c;秒级响应&#xff01;这不只是教程&#xff0c;这是你驾驭PB级数据的超能力&#xff01;我的ClickHouse视频课&#xff0c;凝练十年实战精华&#xff0c;从入门到精通&#xff0c;从单机到集群。点开它&#xff0c;让数据处理速度快到飞起&#xff0c;让你…

Jetpack - Room(Room 引入、Room 优化)

一、Room 引入 1、基本介绍 Room 在 SQLite 上提供了一个抽象层&#xff0c;以便在充分利用 SQLite 的强大功能的同时&#xff0c;能够流畅地访问数据库&#xff0c;官方强烈建议使用 Room 而不是 SQLite 2、演示 &#xff08;1&#xff09;Setting 模块级 build.gradle depend…

【江科大CAN】2.1 STM32 CAN外设(上)

2.1 STM32 CAN外设&#xff08;上&#xff09;2.1.1 STM32 CAN外设简介2.1.2 外围电路设计2.1.3 STM32 CAN内部结构2.1.4 发送流程详解2.1.5 接收流程详解2.1.6 关键配置位总结STM32 CAN外设讲解 大家好&#xff0c;欢迎继续观看CAN总线入门教程。本节开始&#xff0c;我们正式…

人工智能技术革命:AI工具与大模型如何重塑开发者工作模式与行业格局

引言&#xff1a;AI技术爆发的时代背景过去五年间&#xff0c;人工智能领域经历了前所未有的爆发式增长。从2020年GPT-3的横空出世到2023年多模态大模型的全面突破&#xff0c;AI技术已经从实验室走向了产业应用的前沿。开发者作为技术生态的核心推动者&#xff0c;其工作模式正…

傅里叶变换

傅里叶变换:运用频域的出发点就是能够将波形从时域变换到频域&#xff0c;用傅里叶变换可以做到这一点。有如下3种傅里叶变换类型&#xff1a;1.傅里叶积分(FI); 2.离散傅里叶变换(DFT); 3.快速傅里叶变换(FFT)。傅里叶积分是一种将时域的理想数学表达变换成频域描述的数学技术…

【IQA技术专题】纹理相似度图像评价指标DISTS

纹理一致性图像评价指标: Image Quality Assessment: Unifying Structure and Texture Similarity&#xff08;2020 PAMI&#xff09;专题介绍一、研究背景二、方法总览2.1 初始变换2.2 纹理表示和结构表示2.3 DISTS指标2.4 优化DISTS指标三、实验结果四、总结本文将对统一图像…

windows下Docker安装路径、存储路径修改

一、命令行指定安装路径​ ​​下载安装包​​&#xff1a;从Docker官网获取安装程序&#xff08;如Docker Desktop Installer.exe&#xff09;。​​运行PowerShell​​&#xff1a; & "H:\Docker Desktop Installer.exe" install --installation-dir"F:…

thingsboard 自定义动作JS编程

在 ThingsBoard 中实现 自定义动作&#xff08;Custom Action&#xff09;的 JavaScript 编程&#xff0c;主要通过“Custom action (with HTML template&#xff09;”方式完成&#xff0c;适用于创建弹窗、编辑实体、控制设备等交互行为。 实现步骤&#xff08;以添加设备或资…

Spring Boot 简单接口角色授权检查实现

一、背景与目标在Spring Boot应用开发中&#xff0c;接口级别的权限控制是系统安全的重要组成部分。本文将介绍一种简单直接的接口角色授权检查实现方案&#xff0c;适合快速开发和安全合规检查场景。二、技术方案概述本方案采用自定义注解拦截器的方式实现&#xff0c;具有以下…

PytorchLightning最佳实践日志篇

在 PyTorch Lightning&#xff08;PL&#xff09;中&#xff0c;日志系统是 “炼丹” 过程中复现实验、对比效果、排查问题的核心工具。结合实际工程经验&#xff0c;总结以下最佳实践和技巧&#xff0c;帮助提升实验效率&#xff1a; 一、日志工具的选择与配置 PL 通过统一的s…

基于JavaWeb的兼职发布平台的设计与实现

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat12开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;Maven3.6系统展示系统首页用户登录招聘信…

Linux学习--C语言(指针3)

1.指针函数和函数指针1.1 指针函数指针函数是函数&#xff0c;函数的返回值是指针不能返回局部变量的地址指针函数返回的地址可以作为下一个函数调用的参数1.2 函数指针函数指针是指针&#xff0c;指针指向一个函数#include <stdio.h>int Add(int x, int y) {return x y…

【JAVA EE初阶】多线程(上)

目录 1.预备知识 1.1 冯诺依曼体系结构&#xff1a; 1.2 现代CPU主要关心指标&#xff08;和日常开发密切相关的&#xff09; 1.3 计算机中&#xff0c;一个汉字占几个字节&#xff1f; 1.4 Windows和Linux的区别 1.5 PCB的一些关键要点 2.线程和进程 2.1 创建线程的写法…