【教学类-102-19】蝴蝶三色图作品1——卡纸蝴蝶(滴颜料按压对称花纹)A4横版最大号22.85CM
背景需求:
前期做了18次实验,基本实现了三色图三线的各种变化效果和16种图纸大小的批量导入
今天开始制作具体可用的学具——黑卡纸蝴蝶(滴颜料按压对撑颜色)
【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图24图-CSDN博客文章浏览阅读1.1k次,点赞27次,收藏10次。【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图24图https://blog.csdn.net/reasonsummer/article/details/147234191?sharetype=blogdetail&sharerId=147234191&sharerefer=PC&sharesource=reasonsummer&spm=1011.2480.3001.8118
【教学类-102-12】蝴蝶外轮廓02——Python对黑白图片进行PS填充三种颜色+图案黑色描边(RBG160-250)+内部图案填充白色+制作1图2图6图24图_python操作ps-CSDN博客文章浏览阅读834次,点赞27次,收藏17次。【教学类-102-12】蝴蝶外轮廓02——Python对黑白图片进行PS填充三种颜色+图案黑色描边(RBG160-250)+内部图案填充白色+制作1图2图6图24图_python操作pshttps://blog.csdn.net/reasonsummer/article/details/147256932?spm=1011.2415.3001.5331
1、黑色底纹的彩笔图案看不清楚
幼儿使用时,因为滴颜料按压,制作速度很快,大部分时间都是等颜料干透,所以我搭档就让他们先在卡纸上画对称图案,最后在滴颜料。(磨时间)
但是黑色卡纸上画彩色笔,看的不清楚。黑卡纸主要是为了衬托颜料的色彩。
2、折叠中线有误差
为了按压颜料,需要幼儿自己尝试对称折叠蝴蝶。卡纸比较硬,幼儿折叠后大致对位,但并不是很精准。
所以我想制作白色卡纸的蝴蝶,上面有折痕线,增加幼儿对折的精准度。
代码展示
'''
优化版
剪纸外轮廓描边虚线制作(黑点虚线)沿线剪——最终稳定版
将图片变成三色(透明、黑色、蓝色)或黑白色也可以
先把255白背景图片背景部分白色放大,然后(蝴蝶)做成透明图,及点状虚线,透明\切边\统一大小,保存1图2图4图24图,虚线与上下左右有空隙
黑线在透明与非透明交界线上,透明部分5磅,非透明不放呢5磅,
将非透明部分改成纯白色,没有任何灰色。
将三色图的外轮廓和内部花纹边线都显示出来。
三种线(花纹线、轮廓线、点状虚线)都可以单独设置颜色灰度和粗细。
竖版图(瓶子都是竖长条,尝试获取所有图片的最大长宽,制作来统一背景图),再插入竖版1图2图4图8图
选择1,获取统一图大小,修改WORD里面单元格样式。
选择2,把统一图做到WORD多图内(横板8种,竖版8种))
将竖图选择高的部分转化成宽度,进行文件名标注.便于按照图片本体宽度从大到小排列
再图片上添加中线虚线,便于对折。对称剪。
扩大描边,减少弯曲度,降低裁剪难度
点状虚线从灰色变成黑色,点子直径更大样式1:滴颜料对称蝴蝶deepseek,阿夏
20250425
'''
from PIL import Image, ImageDraw
import os
import math
x=int(input('1.统一图,2、多图\n'))print('------0、基本信息-----')
# 主路径
path = r'C:\Users\jg2yXRZ\OneDrive\桌面\20250401边缘线剪纸'
# path=r'D:\图片\20240614蛋筒彩蛋# 图片夹名称
a='15'
b='蝴蝶三色'
c='实线花纹白色图'# 保存
all=path+fr'\{a}_10{b}合并图'# 参数设置# 1、内部花纹框
# 花纹边框颜色((内部)
cchw=255
# 调整蓝色区域边框宽度(像素)
blue_width = 4 # 2、轮廓线
# 轮廓线黑线边框颜色(中间150,150,150)
ccn=0
# 轮廓线的宽度
mb_border_width = 10 # 黑边宽度(像素)
w=int(mb_border_width/2) # 内5外5# 3、点状虚线裁剪边
# 点状虚线边框颜色(外边)
ccw=150
# 白色描边宽度(像素)轮廓线外层
white_border_width = 40
# 黑点直径(像素)
dot_size = 10# # 黑点间距(像素)增加间距确保均匀分布
dot_spacing = dot_size * 2# 4、裁剪时不保留额外透明边距
transparent_edge = 0 # 裁剪时不保留额外透明边距# 5、画布尺寸放大
target_width = 2000 # 统一宽度
target_height =target_width # 统一高度
background_expand = 1000 # 白色背景放大尺寸# 6、添加中线虚线(折痕)# Parameters for center line# 中线参数
xxx=180# 颜色
total_line_width = 10 # 总宽度10磅
left_width = int(total_line_width)/2 # 左边5磅
right_width = left_width # 右边5磅
# line_width = 10 # 线条粗细
dash_length = 30 # 黑线段
gap_length = 30 # 白线段# 定义文件夹路径
in_folder = os.path.join(path,f'{a}_01{b}白背景') # 原始图片(白背景)
big_folder = os.path.join(path, f'{a}_02{b}{c}放大背景') # 放大背景输出
transparent_folder = os.path.join(path, f'{a}_03{b}{c}透明背景') # 透明背景输出
output_folder = os.path.join(path, f'{a}_04{b}{c}黑边轮廓') # 最终输出
dotput_folder = os.path.join(path, f'{a}_05{b}{c}黑边点虚线轮廓') # 最终输出
input_folder = output_folder # 原始图片文件夹
cropped_folder = os.path.join(path,f'{a}_06{b}{c}切边') # 裁剪后的透明图片
final_folder = os.path.join(path,f'{a}_07{b}{c}切边统一图')
center_line_folder = os.path.join(path, f'{a}_08{b}{c}中线图')# 创建输出文件夹
os.makedirs(all, exist_ok=True)
os.makedirs(output_folder,exist_ok=True)
os.makedirs(dotput_folder, exist_ok=True)
os.makedirs(big_folder,exist_ok=True)
os.makedirs(cropped_folder, exist_ok=True)
os.makedirs(final_folder , exist_ok=True)
os.makedirs(transparent_folder, exist_ok=True)
os.makedirs(output_folder, exist_ok=True)
os.makedirs(center_line_folder, exist_ok=True)# 灰线深浅测试
# for cr3 in range(cchw,cchw+10,10):# 黑色边框颜色# 灰色
if x==1:# 中线(内) rrw=ggw=bbw=ccwrrn=ggn=bbn=ccnrrh=ggh=bbh=cchwrrx=ggx=bbx=xxx# rrn,ggn,bbn=ccn,ccn,ccn# # 花纹边框颜色# 灰色# rrh,ggh,bbh=cchw,cchw,cchw print('------1、白色PNG背景放大一点-----')# 遍历输入文件夹中的所有PNG文件for filename in os.listdir(in_folder):if filename.lower().endswith('.png'):# 打开原始图片input_path = os.path.join(in_folder, filename)with Image.open(input_path) as img:original_width, original_height = img.size# 创建新画布(长宽各+200,白色背景)new_width = original_width + background_expandnew_height = original_height + background_expandnew_image = Image.new('RGB', (new_width, new_height), (255, 255, 255))# 计算粘贴位置(居中)paste_x = (new_width - original_width) // 2paste_y = (new_height - original_height) // 2# 将原始图片粘贴到新画布上new_image.paste(img, (paste_x, paste_y), img if img.mode == 'RGBA' else None)# 保存结果big_path = os.path.join(big_folder, filename)new_image.save(big_path)print('------2、白色PNG背景变成透明-----')def process_image_to_transparent(file_path):img = Image.open(file_path)img = img.convert("RGBA")datas = img.getdata()new_data = []for item in datas:if item[0] == 255 and item[1] == 255 and item[2] == 255:new_data.append((255, 255, 255, 0))elif item[0] == 254 and item[1] == 255 and item[2] == 255:new_data.append((254, 255, 255, 0))else:new_data.append(item)img.putdata(new_data)return imgprint("正在转换白背景为透明背景...")for file_name in os.listdir(big_folder):if file_name.lower().endswith((".png", ".jpg", ".jpeg")):input_file_path = os.path.join(big_folder, file_name)output_file_path = os.path.join(transparent_folder, file_name)processed_image = process_image_to_transparent(input_file_path)processed_image.save(output_file_path)print(f"已处理: {file_name}")print('------3、添加双色不同宽度实线轮廓-----')def convert_to_white(image):"""将所有非透明像素强制转换为纯白色,并确保完全透明像素为(0,0,0,0)"""img = image.convert("RGBA")datas = img.getdata()new_data = []for item in datas:if item[3] > 0: # 不透明像素new_data.append((255, 255, 255, 255)) # 纯白else:new_data.append((0, 0, 0, 0)) # 完全透明img.putdata(new_data)return imgdef get_edge_pixels(image):"""获取图像中不透明像素与透明像素交界的边缘像素坐标"""edge_pixels = []pixels = image.load()width, height = image.sizefor y in range(height):for x in range(width):if pixels[x, y][3] > 0: # 不透明像素for dx, dy in [(-1,0),(1,0),(0,-1),(0,1)]: # 4邻域检查nx, ny = x+dx, y+dyif 0 <= nx < width and 0 <= ny < height:if pixels[nx, ny][3] == 0: # 邻域透明edge_pixels.append((x, y))breakreturn edge_pixelsdef create_border_mask(edge_pixels, width, height, border_width):"""创建指定宽度的边框遮罩"""border_pixels = set()w = border_width // 2 # 半径for x, y in edge_pixels:# 创建圆形画笔效果for dy in range(-w, w+1):for dx in range(-w, w+1):nx, ny = x+dx, y+dyif 0 <= nx < width and 0 <= ny < height:dist = (dx**2 + dy**2)**0.5if dist <= w:border_pixels.add((nx, ny))return border_pixelsdef draw_dual_width_border(image, normal_border_pixels, cyan_border_pixels):"""绘制不同宽度的双色边框"""border_layer = Image.new('RGBA', image.size, (0, 0, 0, 0))pixels = border_layer.load() # # 先绘制较宽的普通边框 (10磅/13像素)for x, y in normal_border_pixels:pixels[x, y] = (rrn, ggn, bbn, 255) # 普通边框颜色# 再绘制较窄的蓝色区域边框 (6磅/8像素),这会覆盖重叠部分for x, y in cyan_border_pixels:pixels[x, y] = (rrh,ggh,bbh, 255) # 蓝色部分边框颜色return border_layerdef add_dual_width_border(input_path, output_path):"""处理单个图像,添加不同宽度的双色边框"""original = Image.open(input_path).convert('RGBA')width, height = original.size# 0. 首先识别原图中的(0,255,255)区域边界original_pixels = original.load()cyan_edges = set()for y in range(height):for x in range(width):if original_pixels[x, y][3] > 0: # 不透明像素# 检查是否是(0,255,255)if original_pixels[x, y][0] == 0 and original_pixels[x, y][1] == 255 and original_pixels[x, y][2] == 255:# 检查4邻域是否有非(0,255,255)的不透明像素for dx, dy in [(-1,0),(1,0),(0,-1),(0,1)]:nx, ny = x+dx, y+dyif 0 <= nx < width and 0 <= ny < height:if original_pixels[nx, ny][3] > 0 and not (original_pixels[nx, ny][0] == 0 and original_pixels[nx, ny][1] == 255 and original_pixels[nx, ny][2] == 255):cyan_edges.add((x, y))break# 1. 将所有非透明像素转为纯白色white_image = convert_to_white(original)# 2. 获取透明与不透明的边缘edge_pixels = get_edge_pixels(white_image)# # 3. 创建不同宽度的边框区域# mb_border_width = 20 # 10磅 ≈ 13像素# blue_width = 8 # 6磅 ≈ 8像素normal_border_pixels = create_border_mask(edge_pixels, width, height, mb_border_width)cyan_border_pixels = create_border_mask(list(cyan_edges), width, height, blue_width)# 4. 绘制不同宽度的双色边框border_layer = draw_dual_width_border(white_image, normal_border_pixels, cyan_border_pixels)# 5. 合成结果result = Image.alpha_composite(white_image, border_layer)# 6. 最终清理result_data = result.getdata()final_data = []for item in result_data:if item[3] == 0: # 透明final_data.append((0, 0, 0, 0))elif item[:3] == (rrn, ggn, bbn): # 蓝色部分边框final_data.append((rrn, ggn, bbn, 255))elif item[:3] == (rrh,ggh,bbh): # 普通边框final_data.append((rrh,ggh,bbh, 255))else: # 白色final_data.append((255, 255, 255, 255))result.putdata(final_data)result.save(output_path, format='PNG')print(f"已添加不同宽度双色边框: {os.path.basename(input_path)}")# # 定义两种边框颜色# 黑色边框颜色# 灰色rrn,ggn,bbn=ccn,ccn,ccn# 花纹边框颜色# 灰色rrh,ggh,bbh=cchw,cchw,cchw # # 蓝色部分(原(0,255,255)区域)边框颜色 (6磅宽)# rrn, ggn, bbn = 255, 0, 0 # 红色# # 其他部分边框颜色 (10磅宽)# cch, cch, cch = 0, 0, 0 # 黑色# 处理所有透明背景图片for file_name in os.listdir(transparent_folder):if file_name.lower().endswith('.png'):input_path = os.path.join(transparent_folder, file_name)output_path = os.path.join(output_folder, file_name)add_dual_width_border(input_path, output_path)print("\n所有处理完成!")print('------3、添加点状虚线轮廓-----')def get_edge_pixels(image):"""获取图像中不透明像素与透明像素交界的边缘像素坐标"""edge_pixels = []pixels = image.load()width, height = image.sizefor y in range(height):for x in range(width):if
相关文章:
【教学类-102-19】蝴蝶三色图作品1——卡纸蝴蝶(滴颜料按压对称花纹)A4横版最大号22.85CM
背景需求: 前期做了18次实验,基本实现了三色图三线的各种变化效果和16种图纸大小的批量导入 今天开始制作具体可用的学具——黑卡纸蝴蝶(滴颜料按压对撑颜色) 【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图…...
Claude系列模型-20250426
文章目录 Claude 3.7 Sonnet - "Our most intelligent model yet"Claude 3.5 Haiku - "Fastest model for daily tasks"Claude 3.5 Sonnet (Oct 2024)Claude 3 Opus总结Claude 3.7 Sonnet - “Our most intelligent model yet” 特点: 这是目前Claude系列…...
ADC单通道采集实验
设置的步骤如下; #include "adc.h"ADC_HandleTypeDef adc_handle {0}; void adc_init(void) {adc_handle.Instance ADC1; //ADC的基地址adc_handle.Init.DataAlign ADC_DATAALIGN_RIGHT; //…...
启动你的RocketMQ之旅(五)-Broker详细——消息传输
前言: 👏作者简介:我是笑霸final。 📝个人主页: 笑霸final的主页2 📕系列专栏:java专栏 📧如果文章知识点有错误的地方,请指正!和大家一起学习,一…...
100个节点的部署,整合Docker、Kubernetes和Jenkins的详细设计
一、架构设计概览 组件角色: Docker:应用容器化封装,确保环境一致性。Kubernetes(K8s):自动化容器编排,管理多节点集群的调度、扩缩容和自愈。Jenkins:CI/CD流水线驱动,实现代码到生产的自动化流程。集群规模: Master节点:3个(高可用,避免单点故障)。Worker节点:…...
神经网络与计算机视觉
2016 年,随着 AlphaGo 在围棋比赛中击败李世石,“人工智能”、“神经网络”、“深度 学习”等字眼便越来越多的出现在大众眼前,智能化好像成为一种不可逆转的趋势,带给大家新奇感的同时也带来了一丝忧惧:在不远的未来,机器是否真的拥有思维和情感?《终结者》中天网大战人…...
openEuler对比CentOS的核心优势分析
openEuler对比CentOS的核心优势分析 在开源操作系统领域,openEuler与CentOS均占据重要地位,但随着CentOS维护策略的调整(如CentOS 8停止维护,转向CentOS Stream),越来越多的用户开始关注国产化替代方案。o…...
高性能电脑系统优化工具Advanced SystemCare PRO v18.3.0.240 解锁永久专业版
软件介绍 IObit Advanced SystemCare,系统清理维护与安全防护软件,大幅提升整体系统性能和安全!一键AI智能模式,全面扫描优化修复系统,拥有性能加速模式、系统优化、网络加速、启动项优化、软件更新、实时监视清理、隐…...
【C语言练习】005. 编写表达式并确定其值
【C语言练习】005. 编写表达式并确定其值 005. 编写表达式并确定其值示例 1:算术表达式计算过程:最终结果:示例 2:关系和逻辑表达式计算过程:最终结果:示例 3:复合赋值和算术表达式计算过程:最终结果:示例 4:位运算表达式计算过程:最终结果:示例 5:综合表达式计算…...
力扣面试150题--合并两个有序链表和随机链表的复制
Day 33 题目描述 思路 常规题目,比较list1和list2节点的值,取出较小值扩展链表,最后其中一个遍历完直接拼接另外一个即可(归并排序) /*** Definition for singly-linked list.* public class ListNode {* int v…...
测试用例的设计
组合原则:多个选项有效数据建议组合使用(正向功能)、单个选项无效数据组合其他选项有效数据使用(逆向功能) 一、针对登录模块设计测试用例: 1.账号:已注册手机号、已注册邮箱、为空、未注册手机号、未注册邮箱 2.密码:注册密码、为空、错误密码 3.验证码:正确、过期、错误 …...
关于TCP三次握手和四次挥手的疑点
参考文章:浅谈TCP三次握手和四次挥手 1、三次握手的作用 (1)确保双方收到对方的初始序列号:客户端发送SYN包,服务器回复SYN-ACK包,客户端再回复ACK包,确保双方都接收到对方的序列号。 …...
逆向|dy|a_bogus|1.0.1.19-fix.01
2025-04-26 请求地址:aHR0cHM6Ly93d3cuZG91eWluLmNvbS91c2VyL01TNHdMakFCQUFBQV96azV6NkoyMG1YeGt0eHBnNkkzRVRKejlyMEs3d2Y2dU9EWlhvd2ttblZWRnB0dlBPMmMwN2J0WFotcVU4V3M 个人主页的视频数据 我们需要逆向这个接口,所以现在需要分析这个请求, 分析这几个数据包可以发现: 只有…...
【软考-架构】13.5、中间件
✨资料&文章更新✨ GitHub地址:https://github.com/tyronczt/system_architect 文章目录 中间件技术典型应用架构 中间件技术 在分布式系统环境中,出于操作系统和应用程序之间的软件。 主要的中间件有五类: 数据库访问中间件࿱…...
【Redis】基础2:作为缓存
文章目录 1. 一些概念2. 主动更新策略/缓存设计模式2.1 cache-aside pattern(lazy loading)2.2 read-through pattern(针对读操作)2.3 write-through pattern2.4 write behind pattern(write back pattern)…...
豆包,Kim,deepseek对比
以下是豆包、Kimi、DeepSeek的对比与应用: 对比 - 核心技术:DeepSeek-R1完全依赖强化学习驱动,跳过监督微调阶段。Kimi k1.5采用“轻量级SFT预热RL优化”的混合策略。 - 多模态支持:Kimi k1.5支持文本与图像的多模态联合推理。De…...
L2-005 集合相似度
L2-005 集合相似度 - 团体程序设计天梯赛-练习集 给定两个整数集合,它们的相似度定义为:Nc/Nt100%。其中Nc是两个集合都有的不相等整数的个数,Nt是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。 …...
33.状态压缩动态规划
一、算法内容 1.简介 若元素数量比较小(不超过 20 20 20)时,想要存储每个元素取或不取的状态时, 可以借助位运算将状态压缩。 需要借助状态压缩过程的动态规划就是状态压缩 DP(很多地方会简称为状压 DP)…...
WSL 中 nvidia-smi: command not found的解决办法
前言 在使用基于 Linux 的 Windows 子系统(WSL)时,当我们执行某些操作后,可能会遇到输入 nvidia-smi 命令却无法被系统识别的情况。 例如,在终端中输入nvidia-smi 后,系统返回提示 -bash: nvidia-smi: co…...
Linux 进程控制
文章目录 1. 进程创建1.1 fork1.2 写时拷贝 2.进程终止2.1 退出码2.2 进程如何返回退出码 3. 进程等待3.1 wait3.1.1 阻塞等待3.1.2 退出码与退出信号 3.2 waitpid 1. 进程创建 1.1 fork 我们可以使用fork函数来创建子进程,创建子进程后,父子进程之间就…...
使用MobaXterm远程登录Ubuntu系统:SSH服务配置教程
一、MobaXterm介绍 MobaXterm官网:https://mobaxterm.mobatek.net/ MobaXterm类似于Xshell,是一个工具箱,功能比Xshell多。 直接去官网下载安装就可以,本文主要介绍开启Ubuntu的ssh服务,并通过MobaXterm实现远程登录…...
直线模组精度测试的标准是什么?
直线模组的精度测试是确保其性能和稳定性的重要环节。那么,大家知道直线模组精度测试的标准是什么吗? 1、定位精度:以最大行程为基准长度,用从基准位置开始实际移动的距离与指令值之间的最大误差的绝对值来表示。一般来说…...
RK3568 Debian调试记录
文章目录 1、环境介绍2、前言3、debian目录结构3.1、脚本调用顺序 4、编译debian4.1、构建debian编译所需的环境4.2、编译debian4.3、打包 5、系统启动6、debian适配6.1、新增板级配置单6.2、USB6.3、Wi-Fi / BT6.4、屏幕旋转6.5、触摸旋转6.6、时钟 7、测试8、总结 1、环境介绍…...
来自 Bisheng 关于微调的内容总结
来自 Bisheng 关于微调的内容总结 0. 引言1. 关于微调的总结 0. 引言 这篇文章的内容(主要是截图)是来自 Bisheng 关于微调的内容总结,内容来源于 B 站Up主七吟覃_BISHENG负责人的视频,感兴趣的可以观看原视频。 1. 关于微调的总…...
Git 工具的安装
目录 Git 工具介绍 Git 工具安装 创建本地仓库 配置本地仓库 Git 版本控制基本原理 本期开始,我们将学习如何使用 Git 工具,实现多版本控制。 Git 工具介绍 要了解 Git 工具我们得先了解版本控制器的概念。 有这样一个场景,如下图所…...
任务管理系统,Java+Vue,含源码与文档,科学规划任务节点,全程督办保障项目落地提效
前言: 在当今快节奏的工作环境中,高效的任务管理是确保项目按时完成、资源合理分配及团队协作顺畅的关键。任务管理系统作为提升工作效率的重要工具,通过数字化手段帮助用户组织、跟踪和完成各类任务。本文将详细阐述任务管理系统的五大核心…...
JavaScript基础知识合集笔记1——数据类型
文章目录 JavaScript中的数据类型基本数据类型引用类型存储区别 JavaScript中的数据类型 基本数据类型和复杂类型 基本数据类型 基础类型包含六种:Number、Bigint、String、Boolean、Undefined、null、symbol Number(特殊值NaN,意为“不是数值”) c…...
2025.04.26-美团春招笔试题-第四题
📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 04. 图像智能降维处理 问题描述 卢小姐是一家图像处理公司的算法工程师,她正在开发一种高效的图像压缩算法。该算法基于奇异值分解(SVD)技术,通过保留图像矩阵中最重要的特征,在…...
测试基础笔记第十三天
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、流程控制语句-判断语句1.判断语句2.逻辑运算符3.elif多重判断4.if的嵌套5.if与逻辑运算符结合1.and2.or3.not 设计测试用例二、流程控制语句-循环语句1.while语…...
【昇腾】PaddleOCR转om推理
文章目录 1. 使用Paddle框架推理1.1 安装1.2 推理 2. paddle 转 ONNX3. 转om4. Ais_bench 命令推理5. Ais_bench 编写推理代码 概要: PyTorch官方提供了昇腾插件包,安装后虽然可以支持PytorchOCR和PaddlePaddle的推理任务,但性能通常低于GPU。…...
【数据融合】基于拓展卡尔曼滤波实现雷达与红外的异步融合附matlab代码
一、问题分析与技术难点 1. 传感器特性对比 传感器测量维度优势局限性噪声模型雷达距离 $ r $、方位角 $ \theta $、速度 $ v $测距精度高、全天候工作角度分辨率低、易受多径干扰高斯噪声,协方差矩阵 $ R_r \text{diag}(\sigma_r^2, \sigma_\theta^2, \sigma_v^…...
第一部分:网页的骨架 —— HTML
这目录 前言1. 初识 HTML:搭建地基和框架1.1 小例子: 创建一个最简单的 HTML 页面,包含 "Hello World"。1.2 练习 2. 常用文本与内容标签:填充墙体和房间2.1 小例子: 创建一个包含个人简介(使用标…...
RTMP 协议解析 1
介绍 📖 什么是 RTMP? RTMP协议(Real-Time Messaging Protocol,实时消息传输协议)是由Adobe公司(最初由Macromedia开发)设计的一种用于实时传输音频、视频和数据流的网络协议,主要…...
c++初始化数组
1.前言 话说数组是n年前的事了,我为啥现在又提到它呢?因为很多人不会初始化数组,所以今天我来教教大家 2.初始化数组 初始化数组就是定义数组,就像这样 int a[5]{0}; 这样是a[0]到a[5]全都等于0 如果要输出这个数组…...
支持Win和Mac的批量图片压缩方法
软件介绍 如果你的图片太大,传输或上传总是卡壳,那就需要一款好用的图片压缩工具了。今天推荐的这款工具支持Windows和Mac双系统,简直是图片压缩界的"变形金刚"! 图压(图片压缩双系统版) …...
autodl(linux)环境下载git-lfs等工具及使用
一、git-lfs工具下载 #初始化git.lfs命令 curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash sudo apt-get install git-lfs git lfs install 二、 huggingface-cli工具下载及使用 Linux设置huggingface的镜像: ex…...
云原生--核心组件-容器篇-3-Docker核心之-镜像
1、定义与作用 定义: Docker镜像是一个只读的模板,包含运行应用程序所需的所有内容,包括代码、依赖库、环境变量、配置文件等。简单来说,Docker镜像是一个轻量级、独立、可执行的软件包,它包含了运行某个软件所需的所有…...
Dify与n8n深度对比:AI应用开发与自动化工作流的双轨选择
Dify与n8n深度对比:AI应用开发与自动化工作流的双轨选择 在数字化转型加速的2025年,Dify和n8n作为两大主流工具,分别代表了AI应用开发与自动化工作流领域的顶尖解决方案。本文将从核心定位、功能特性、使用场景等维度展开对比,为…...
AI算法优化建筑形态与能耗管理 实现方案和技术架构
以下是基于AI算法优化建筑形态与能耗管理的实现方案与技术架构,结合行业实践与前沿技术趋势,分层次解析核心要素及实施路径: 一、技术架构设计 1. 数据采集与感知层 多源数据融合 传感器网络:部署温湿度、CO₂浓度、光照、人流密度等传感器,构建实时数据采集体系(如北京…...
【互联网架构解析】从物理层到应用层的全栈组成
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现(Python网络请求)运行结果验证 三、性能对比测试方法论量化数据对比结果分…...
Redis和MQ的区别
redis是一个高性能的key-value数据库,支持消息推送功能,可以当做一个轻量级的队列服务器使用。 redis只是提供一个高性能的、原子操作内存键值队,具有高速访问能力,虽然可以做消息队列的存储,但不具备消息队列的任何功…...
多系统安装经验,移动硬盘,ubuntu grub修改/etc/fstab 移动硬盘需要改成nfts格式才能放steam游戏
笔记本一个系统,移动硬盘两个系统,当前系统sda4.jpg 移动硬盘需要再装一个linux会有boot/efi,启动的时候grub界面才能识别,单linux没有efi别的电脑识别不到 没efi甚至启动不了grub 按下f6.jpg 看看笔记本grub能不能识别得到移动硬…...
4.26学习——web刷题
把攻防世界的web做了20道左右,挑了几道学到东西的题目记录一下 攻防世界warmup 进到环境中读取源代码发先有个提示:source.php,进去看看 <?phphighlight_file(__FILE__);class emmm{public static function checkFile(&$page){$wh…...
Go 语言中的实时交互式编程环境
在 Go 语言中,确实有几种方法可以实现类似 Python REPL 的实时交互式编程体验,让你可以实时编写代码并查看输出,而无需每次都编译运行整个程序。 但是需要注意的是,由于 Go 是编译型语言,完全的实时交互体验不如解释型…...
动态规划求解leetcode300.最长递增子序列(LIS)详解
给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 示例 1&#…...
冯·诺依曼和哈佛架构两种架构的总线组成及核心特点
在计算机体系结构中,哈佛架构和冯诺依曼架构是两种不同的存储与总线设计范式,它们的总线组成和访问方式有显著差异。以下是两种架构的总线组成及核心特点的详细分析: 1. 冯诺依曼架构(Von Neumann Architecture) 核心…...
7.学习笔记-Maven进阶(P75-P89)-进度(p75-P80)
1.MAVEN-01-分模块开发的意义 (一)分模块开发意义 模块可以按功能划分,也可以按团队划分,所以把domain的方法抽取出来,进行共享,从而提高开发 的效率。 (1)分模块开发的意义…...
Java——令牌技术
目录 一、何为令牌 JWT令牌 介绍 JWT组成 二、JWT用于验证用户登录 三、JWT令牌生成和校验 简单用法 1.创建生成密钥的方法 2.接着添加过期时间,密钥,BASE64解码密钥的属性以及生成token的方法,合并上面生成密钥的方法,下面…...
【含文档+PPT+源码】基于Python校园跑腿管理系统设计与实现
项目介绍 本课程演示的是一款基于Python校园跑腿管理系统设计与实现,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Python学习者。 1.包含:项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 3.…...
Spring AI Alibaba - Milvus 初体验,实现知识库效果
先看效果 数据被存储在 milvus 中,包括原始数据和向量数据。 大模型使用向量化数据的回答: 环境准备 安装 milvus Milvus 是一款专为向量相似性搜索设计的高性能开源数据库。 本地测试环境可以直接 Standalone 模式安装,需要用到 docke…...