《探索形象克隆:科技与未来的奇妙融合》

目录

一、什么是形象克隆

二、形象克隆的技术原理

三、形象克隆的发展现状

四、形象克隆的未来趋势

五、形象克隆的应用场景

六、形象克隆简单代码案例 

Python 实现数字人形象克隆

Scratch 实现角色克隆效果(以猫为例)

JavaScript 实现 Scratch 编程中的角色克隆与移动

七、形象克隆的框架有哪些


一、什么是形象克隆

形象克隆是利用人工智能技术,对人类的行为、声音、形象等方面进行复制或克隆的技术。

具体来说,通过深度学习和生成对抗网络等先进技术,收集大量数据进行训练,从而实现对真实人类的模拟。例如,在语音克隆方面,可将文字序列转换成音韵序列生成相似语音。如腾讯智影,用户上传一些音、视频后,可生成自己的数字人形象(外形和音色),还能用于 “逼真” 的文字播报。其中声音克隆是在线录制一段真人语音,经 “腾讯智影” AI 训练后可以得到与本人音色一致的声音模型。克隆好的声音模型,音色、语调、语言习惯可以与真人本人高度一致,届时只需要输入文字即可生成对应音频。

在图像生成方面,利用生成对抗网络生成与目标人物相似的图像或视频。比如电子发烧友网报道的 AI 克隆技术,其原理主要是通过人工智能技术来模拟和复制真实人类的行为、思维和表情等。具体而言,AI 克隆技术通常涉及到深度学习和生成对抗网络(GAN)等先进的人工智能技术。首先,AI 克隆技术需要收集大量的数据,包括文本、语音、图像等,用于训练人工智能模型。然后,通过深度学习算法,人工智能模型可以学习到数据的内在规律和特征,从而实现对真实人类行为的模拟。在图像生成方面,生成对抗网络(GAN)可以用于生成与目标人物尽可能相似的图像或视频。GAN 包含两个部分:生成器和判别器。生成器的任务是生成与目标人物相似的图像或视频,而判别器的任务是判断生成的图像或视频是否与目标人物相似。通过不断优化和调整生成器和判别器,可以逐渐提高生成图像或视频的质量和逼真度。

形象克隆技术在多个领域都有广泛的应用。在娱乐和艺术方面,AI 克隆技术可以用来生成逼真的人类声音、图像和视频,这在电影制作、游戏开发、音乐制作等领域中非常有用。例如,AI 可以用于制作虚拟角色、模拟人类行为和表情,提高电影和游戏的真实感和沉浸感。此外,AI 克隆技术也可以用于虚拟现实和增强现实,提供更加丰富和多样的娱乐体验。在语音助手和智能客服方面,AI 克隆技术可以用来创建智能语音助手,模拟人类的声音和语言,提供更加个性化和高效的服务。例如,语音助手可以帮助用户查询信息、安排日程、控制智能家居等,提高人们的生活质量和便利性。在教育和培训方面,AI 克隆技术可以用来创建智能导师和模拟现实世界的场景,为学生和教育者提供更好的学习体验。例如,AI 可以模拟现实世界的场景,让学生在实际操作之前先进行模拟练习。此外,AI 也可以用于生成个性化的学习计划和资源,提高学生的学习效果。在虚拟人和替身方面,AI 克隆技术可以用来创建虚拟人物形象,模拟人类的行为和表情。例如,在电影制作中,AI 可以用于生成逼真的虚拟角色和场景;在线教育领域,AI 可以用于创建智能教师形象,提供更加个性化和高效的学习体验。在语音克隆和虚拟主播方面,AI 克隆技术可以用来复制人类的声音特征,生成与目标人物相似的语音。这可以应用于语音合成、语音识别等领域,例如语音助手、智能客服等。此外,AI 克隆技术也可以用于制作虚拟主播,模拟人类主播的行为和语言,提供更加个性化和高效的服务。

二、形象克隆的技术原理

  1. 声音克隆:声音克隆是让 AI 算法通过大模型理解素材中每句话的含义,识别声音从而克隆相似的声音生成声音模型。具体来说,顾客提供 “复活” 对象的声音素材后,AI 会花费 2 - 5 天的时间进行处理。例如在南宁的一些人工智能机构,工作人员会将这些声音素材输入到特定的算法模型中,让模型理解每句话的语义,从而精准地识别出声音特征,并以此为基础克隆出相似的声音,最终生成声音模型。这种声音模型在音色、语调、语言习惯等方面可以与真人本人高度一致,例如市民陈先生通过商家将去世多年的父亲 “复活” 成 AI 人后,发现其声音与父亲生前几乎一模一样。
  2. 形象克隆:形象克隆是通过 AI 技术将逝者照片由人工进行筛选,抓取五官信息实现声音与五官的联动。这个过程通常需要 1 - 3 天时间完成。工作人员会对逝者照片进行仔细筛选,利用先进的 AI 技术精准抓取五官信息,使得生成的数字人形象在眨眼、口型与声音匹配、摇头等动作方面能够与声音完美联动,呈现出更加逼真的效果。比如在广西天能人工智能应用技术服务有限公司推出的 “再现亲人” 业务中,就会通过这样的方式为顾客打造出高度还原的数字人形象。
  3. 思想克隆:思想克隆是通过底层大模型建立基础思维,再输入家人对于逝者生前的人生经历、家庭关系、生活习惯、性格描述等信息,让 AI 模拟已故亲人的思想,并可通过聊天不断学习。这一阶段需要 2 - 4 天完成。首先,利用底层大模型构建基础思维框架,然后家人提供关于逝者的详细信息,AI 会根据这些信息模拟逝者的思想。在后续的使用过程中,还可以通过聊天的方式让数字人不断学习,使其更加贴近逝者的思维方式。例如硅基智能创始人司马华鹏提出的数字永生三个阶段中,就包括了思想克隆这一重要环节,实现形象和思想的全面 AI 化,为用户提供更加真实的交互体验。

三、形象克隆的发展现状

1.成本下降:
大模型的出现使得虚拟人制作成本大幅下降。在大模型之前,虚拟人的制作成本高昂,2022 年通常是一对一定制,价格从上万元到几十万不等。例如某知名酒业公司花费近 60 万元用于机场大屏的虚拟人广告,但落地效果不尽如人意。而如今,大模型已经作为一种生产能力渗入到整个虚拟人制作的产业链中,制作成本从之前的十万级下降到千元左右。国内最早一批布局 AI 数字人的「硅基智能」,其数字人形象克隆产品上线时统一定价为 8000 元,目前市场上售价参差不齐,从几百到几千不等。新的一年,硅基智能还在思考进一步降低成本,走全新的商业模式。此外,由于云端大模型技术的赋能,克隆一次形象的成本从原来的上万元下降至几块钱,让每一个普通商家拥有专属数字人成为可能。
虚拟人直播和短视频制作成本也大幅降低。以虚拟人直播为例,传统直播间搭建成本动辄几万到上百万,包括场地、设备、人力和维护等成本。而虚拟人直播间可以节省至少一半上述成本,如传统直播间对摄像头标准较高,虚拟人直播间只需要普通摄像头,甚至纯虚拟人直播连摄像头都不要,一个主机即可。从人力成本来看,传统直播间最低配置三人团队每月薪酬支出较高,而虚拟人直播则完全不需要人力成本。同时,虚拟人随时加班 24 小时拉满都可以,人的管理成本高且离职率高。虚拟人直播和短视频制作成本降低了 98%,为商家降本增效。


2.技术提升
大模型改变了传统建模方法,让虚拟人的面部细节更逼真。过去虚拟人 3D 建模依靠 CG 技术,现在大模型使用视频大模型的制作工具,通过算法高效生成 3D 模型,提高了虚拟人的面部细节和面部表情、唇形的同步效果,使虚拟人在说话时看起来更自然。例如,出门问问的 “奇妙元” 数字人视频与直播平台,在文字、图像、声音等生成能力基础上,为视频内容创作者提供形式新颖、生动有趣的作品。
大模型增强了虚拟人的交互能力。根据 IDC 咨询,虚拟人的自动化水平可分为 L1 - L5 阶段,目前我们正处于 L3 - L4 的中间阶段,在直播间或者虚拟人互动的设备中,用户通过文字就能与虚拟人进行实时交流和对话,以用来介绍产品、替用户解决问题等等。相对智能化的虚拟人已能实现直播互动,其技术原理在于企业事先建立的模板库或知识库,一旦在直播中触发相应关键词,虚拟人就能实时调取里面的内容进行回答。但目前这项技术还不够成熟,有用户反馈在直播间问问题,过十分钟虚拟人才会回复。


3.市场混乱:
年初,起死回生的虚拟人开始疯狂找落地场景。2023 年,大模型 “救活” 了虚拟人行业,在元宇宙快速遇冷后,大模型为虚拟人技术带来了深刻影响,解决了成本高昂、制作周期缓慢、门槛过高等问题,让虚拟人能够真正开始规模化落地,融合进产业。
年中,代理商涌入直播间割韭菜。闻到商机的代理商们,带着成千上万虚拟人涌进直播间,开始披着技术的外衣疯狂割韭菜,这导致企业客户一时间对虚拟人望而却步。
年底,市场回归冷静,产业链分工逐渐清晰。当泡沫逐渐消失、技术逐渐成熟后,整个市场开始回归冷静,产业链开始分化,上中下游的分工慢慢清晰,各行各业也不再追求形式而开始真正思考虚拟人究竟能带来什么。

四、形象克隆的未来趋势

  1. 更加智能化:随着人工智能技术的不断发展,克隆数字人直播系统将更加智能化。通过对用户行为和喜好的深入分析,系统能够为用户提供更加精准的个性化推荐。例如,根据用户的观看历史、点赞记录等数据,推荐符合用户兴趣的虚拟形象和直播内容。同时,智能算法还可以不断学习和优化,提高推荐的准确性和满意度,为用户带来更加优质的直播体验。
  2. 跨平台兼容:未来,克隆数字人直播系统将支持更多的直播平台。这意味着用户可以在不同的平台上享受到相同的虚拟形象和互动体验,无需担心平台限制。无论是在抖音、快手等短视频平台,还是在淘宝、京东等电商平台,用户都可以使用自己的克隆数字人进行直播。这种跨平台兼容性将极大地拓展用户的直播范围,提高数字人的曝光度和影响力。
  3. 虚拟现实融合:形象克隆技术将与虚拟现实技术进一步结合,为用户提供更加沉浸式的直播体验。用户可以通过虚拟现实设备,进入一个虚拟的直播场景,与克隆数字人进行更加真实的互动。例如,在虚拟演唱会中,用户可以与虚拟歌手一起唱歌、跳舞,感受身临其境的音乐盛宴。此外,虚拟现实技术还可以为用户提供更加丰富的视觉效果,让直播更加生动有趣。

五、形象克隆的应用场景

  1. 娱乐艺术:形象克隆技术在娱乐艺术领域有着广泛的应用。在电影制作中,通过形象克隆技术可以生成逼真的虚拟角色,模拟人类行为和表情,提高电影的真实感和沉浸感。例如,利用 AI 克隆技术,可以制作出与真人演员极为相似的数字人角色,为电影增添更多奇幻色彩。在游戏开发领域,形象克隆技术可以创造出更加生动的游戏角色,让玩家获得更好的游戏体验。音乐制作方面,形象克隆技术可以用于生成虚拟歌手,为音乐创作带来新的可能性。
  2. 语音助手和智能客服:智能客服机器人利用形象克隆技术中的语音克隆功能,创建出智能语音助手,模拟人类声音和语言,为用户提供个性化高效服务。例如,通过对大量语音数据的学习,智能客服机器人可以准确理解用户的问题,并以自然流畅的语音进行回答。同时,根据用户的语言习惯和历史交互数据,提供个性化的服务解决方案,提高用户满意度。
  3. 教育和培训:形象克隆技术在教育和培训领域发挥着重要作用。通过创建智能导师和模拟现实场景,为学生和教育者提供更好的学习体验。例如,利用数字人克隆技术,可以打造出与真实教师相似的智能教师形象,为学生提供个性化的学习指导。同时,通过模拟现实世界的场景,让学生在实际操作之前先进行模拟练习,提高学习效果。此外,还可以根据学生的学习情况生成个性化的学习计划和资源,满足不同学生的需求。
  4. 虚拟人和替身:在电影制作和在线教育领域,形象克隆技术可以创建虚拟人物形象。在电影制作中,虚拟人物可以为观众带来全新的视觉体验。在线教育领域,智能教师形象可以提供个性化高效服务。例如,在电影中,通过形象克隆技术生成的虚拟角色可以与真人演员互动,增加电影的趣味性和观赏性。在在线教育中,虚拟教师可以根据学生的问题实时调整教学内容和方式,提高教学效率。
  5. 直播行业:数字人直播系统可降低成本、提高效率,实现 24 小时不间断直播。与传统直播方式相比,数字人直播系统具有诸多优势。首先,克隆数字人直播系统可以根据主播的需求打造个性化的虚拟形象,提高主播的辨识度,让观众更容易记住。其次,数字人直播系统可以降低直播成本,避免因主播身体不适或其他原因无法进行直播的困扰。此外,虚拟形象可以进行唱歌、跳舞等表演,增加直播的趣味性。数字人直播系统还可以应用于各种直播场景,如游戏直播、教育直播、购物直播等,为直播行业带来更多的发展机遇。

六、形象克隆简单代码案例 

实现目标:

1.Python 实现数字人形象克隆:
将输入的视频和音频提供给 Wav2Lip 算法。
使用 Python 从 wav2lip 生成的视频中提取帧。
所提取的帧提供给 Real-ESRGAN 算法以提高质量。
最后使用 ffmpeg 将高质量帧与原始音频一起转换为视频,最终生成高质量的嘴唇同步视频。
2.Scratch 实现角色克隆效果:
猫被点击克隆,按下空格键删除克隆体。
通过控制、循环、运动、克隆、删除克隆等操作,实现角色的动态效果。
3.JavaScript 实现 Scratch 编程中的角色克隆与移动:
飞机角色:通过键盘四个方向键实现对飞机进行控制,改变飞机的坐标位置,并通过改变造型实现动态效果。
云角色:通过克隆模式,随机选择不同的造型并实现从右到左的移动,增加交互体验效果。
小鸟角色:周期克隆出新的小鸟角色的克隆体,并对克隆体造型进行选择,在飞行过程中进行造型切换实现飞动的效果。

Python 实现数字人形象克隆

首先确保你已经安装了 moviepy(用于视频帧提取与合成)、pysubs2(处理字幕文件,若不需要字幕功能可省略)以及相关依赖,Wav2Lip 和 Real-ESRGAN 假设你已经按照其官方指南配置好环境并可正常调用。

import os
import subprocess
from moviepy.editor import VideoFileClip# 输入视频与音频路径,根据实际情况修改
input_video = "input_video.mp4"
input_audio = "input_audio.wav"
output_folder = "wav2lip_output"# 调用 Wav2Lip 算法生成初步视频,命令需根据你的实际安装情况调整
wav2lip_cmd = f"python inference.py --checkpoint_path checkpoint.pth --face {input_video} --audio {input_audio} --outfile {output_folder}/temp_video.mp4"
subprocess.run(wav2lip_cmd, shell=True)# 从 Wav2Lip 生成的视频中提取帧
video_clip = VideoFileClip(f"{output_folder}/temp_video.mp4")
frames_folder = f"{output_folder}/frames"
os.makedirs(frames_folder, exist_ok=True)
for i, frame in enumerate(video_clip.iter_frames()):frame_path = os.path.join(frames_folder, f"frame_{i}.png")video_clip.save_frame(frame_path, t=i/video_clip.fps)# 调用 Real-ESRGAN 算法提高帧质量,同样命令依实际调整
real_esrgan_cmd = f"python inference_realesrgan.py -n RealESRGAN_x4plus -i {frames_folder} -o {frames_folder}_enhanced"
subprocess.run(real_esrgan_cmd, shell=True)# 使用 ffmpeg 将高质量帧与原始音频合成为最终视频
final_output = "final_video.mp4"
ffmpeg_cmd = f"ffmpeg -framerate {video_clip.fps} -i {frames_folder}_enhanced/frame_%d.png -i {input_audio} -c:v libx264 -pix_fmt yuv420p {final_output}"
subprocess.run(ffmpeg_cmd, shell=True)

上述代码完成了利用 Wav2Lip 生成初步的唇形同步视频,接着提取帧、用 Real-ESRGAN 提升帧质量,最后用 ffmpeg 结合原始音频生成高质量成品视频。代码中的命令行调用部分,你需根据实际算法的安装路径、参数要求精准调整,确保程序正常运行。

Scratch 实现角色克隆效果(以猫为例)

Scratch 是图形化编程平台,操作直观。以下简述实现逻辑,你可在 Scratch 编辑器中直接拖拽积木块搭建程序:

  1. 当绿旗被点击:
    • 选择 “事件” 分类积木,拖出 “当绿旗被点击” 积木放在脚本区开头。
  2. 克隆猫:
    • 从 “控制” 分类找到 “克隆 [角色名称]” 积木(这里是猫),连接到 “当绿旗被点击” 之后,实现程序启动就克隆一只猫。
  3. 处理克隆体的点击删除:
    • 在 “侦测” 分类选取 “当角色被点击” 积木,嵌套一个 “如果... 那么” 积木(来自 “控制” 分类),条件判断里使用 “碰到鼠标指针?”(侦测分类),若满足,则在 “那么” 分支里使用 “删除此克隆体” 积木(控制分类)。
  4. 按下空格键删除克隆体:
    • 从 “事件” 分类拖出 “当按下空格键” 积木,后面接上 “重复执行” 积木(控制分类),在重复执行内部放置 “碰到鼠标指针?” 与 “删除此克隆体” 积木组合,用于持续检测并删除碰到鼠标指针的克隆体。

JavaScript 实现 Scratch 编程中的角色克隆与移动

这里我们以 HTML5 Canvas 和 JavaScript 模拟 Scratch 的简单交互效果,假设已经在 HTML 页面引入了合适的 Canvas,且页面加载完成后脚本开始执行。以下是示例代码框架:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Scratch-like Clone and Move</title>
</head><body><canvas id="gameCanvas" width="800" height="600"></canvas><script>const canvas = document.getElementById('gameCanvas');const ctx = canvas.getContext('2d');// 飞机相关变量let planeX = 400;let planeY = 300;const planeSpeed = 5;const planeImages = ['./plane1.png', './plane2.png']; // 不同造型图片路径,自行替换let planeImageIndex = 0;// 云相关变量const clouds = [];const cloudSpeed = 2;const cloudImages = ['./cloud1.png', './cloud2.png'];// 小鸟相关变量const birds = [];const birdSpeed = 3;const birdImages = ['./bird1.png', './bird2.png'];// 加载图片资源函数function loadImages(sources, callback) {const images = {};let loadedImages = 0;for (let key in sources) {const img = new Image();img.onload = function () {images[key] = img;loadedImages++;if (loadedImages === Object.keys(sources).length) {callback(images);}};img.src = sources[key];}return images;}// 键盘事件处理函数(飞机移动)function handleKeyDown(event) {switch (event.keyCode) {case 37: // 左箭头planeX -= planeSpeed;break;case 38: // 上箭头planeY -= planeSpeed;break;case 39: // 右箭头planeX += planeSpeed;break;case 40: // 下箭头planeY += planeSpeed;break;}}// 主游戏循环function gameLoop() {requestAnimationFrame(gameLoop);ctx.clearRect(0, 0, canvas.width, canvas.height);// 绘制并移动飞机const planeImg = images['plane' + (planeImageIndex % planeImages.length)];ctx.drawImage(planeImg, planeX, planeY);planeImageIndex++;// 处理云克隆与移动clouds.forEach((cloud, index) => {const cloudImg = images['cloud' + (Math.floor(Math.random() * cloudImages.length))];ctx.drawImage(cloudImg, cloud.x, cloud.y);cloud.x -= cloudSpeed;if (cloud.x < -cloudImg.width) {clouds.splice(index, 1);}});// 处理小鸟克隆与移动birds.forEach((bird, index) => {const birdImg = images['bird' + (Math.floor(Math.random() * birdImages.length))];ctx.drawImage(birdImg, bird.x, bird.y);bird.x += birdSpeed;if (bird.x > canvas.width) {birds.splice(index, 1);}});}// 页面加载完成后执行window.addEventListener('load', function () {const imageSources = {'plane1': planeImages[0],'plane2': planeImages[1],'cloud1': cloudImages[0],'cloud2': cloudImages[1],'bird1': birdImages[0],'bird2': birdImages[1]};loadImages(imageSources, function (images) {document.addEventListener('keydown', handleKeyDown);gameLoop();});});</script>
</body></html>

这段 JavaScript 代码实现了简易的类似 Scratch 角色克隆与移动效果:

  1. 飞机控制:通过监听键盘 keydown 事件,依据不同方向键改变飞机的 XY 坐标,同时切换飞机造型展示动态飞行。
  2. 云角色:云克隆体随机选用造型,按设定速度从右向左移动,移出画布左侧后移除克隆体,维持画面动态云朵飘动效果。
  3. 小鸟角色:周期克隆新小鸟,随机挑选造型,向右飞行,超出画布右侧边界则删除克隆体,模拟小鸟群飞动场景。

代码中的图片路径需替换为真实可用的图片资源,且可按需调整速度、坐标、造型切换逻辑等细节,让效果更贴合实际需求。注意,这仅是基础框架,若拓展更多交互功能,如碰撞检测、角色间交互,还需进一步补充代码逻辑。

七、形象克隆的框架有哪些

形象克隆的框架主要包括以下几个方面:

1.技术框架
声音克隆:通过大模型理解素材含义,识别声音特征并克隆相似声音生成声音模型。例如南宁的人工智能机构利用特定算法模型,让 AI 花费 2 - 5 天处理声音素材,精准识别声音特征,生成与真人高度一致的声音模型。
形象克隆:通过 AI 技术筛选逝者照片,抓取五官信息,实现声音与五官联动。工作人员需 1 - 3 天完成照片筛选和五官信息抓取,使生成的数字人形象在动作方面与声音完美联动。
思想克隆:利用底层大模型建立基础思维,输入家人提供的逝者信息,让 AI 模拟已故亲人的思想,并可通过聊天不断学习。此阶段需 2 - 4 天,为用户提供更加真实的交互体验。


2.应用框架
娱乐艺术:在电影制作中生成逼真虚拟角色,提高电影真实感和沉浸感;在游戏开发中创造生动游戏角色;在音乐制作中生成虚拟歌手。
语音助手和智能客服:创建智能语音助手,模拟人类声音和语言,为用户提供个性化高效服务,根据用户历史交互数据提供个性化解决方案。
教育和培训:创建智能导师和模拟现实场景,为学生和教育者提供更好的学习体验,生成个性化学习计划和资源。
虚拟人和替身:在电影制作和在线教育领域创建虚拟人物形象,为观众带来全新视觉体验,提供个性化高效服务。
直播行业:数字人直播系统可降低成本、提高效率,实现 24 小时不间断直播,打造个性化虚拟形象,增加直播趣味性,应用于各种直播场景。


3.平台框架
2023 中国国际智能产业博览会中,新华三集团展场展示的 AIGC 魔盒,让参观者体验通过自己形象生成的数字虚拟人,可广泛应用于直播场景、智能人工服务、文化传播、教育领域等。通过数字人和 AIGC 技术的结合,为用户带来全新的数字化交流方式,更加智能和高效地进行信息交互传达。
博客园提到的青否数字人克隆系统源码,提供无限的自定义选项,可实现一键生成短视频、数字人克隆源码应用广泛,包括交互式数字人带来沉浸式交互体验、数字人直播带货赋能京东电商等。
以刘强东为原型的 AI 数字人 “采销东哥” 在京东直播带货,引发广泛关注,展示了数字人在电商领域的应用潜力。
未来发展框架
更加智能化:通过对用户行为和喜好的深入分析,为用户提供更加精准的个性化推荐,智能算法不断学习和优化,提高推荐准确性和满意度,为用户带来更优质的直播体验。
跨平台兼容:未来克隆数字人直播系统将支持更多直播平台,用户可在不同平台享受相同的虚拟形象和互动体验,拓展直播

 

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

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

相关文章

帝可得-运营管理App

运营管理App Android模拟器 本项目的App客户端部分已经由前端团队进行开发完成&#xff0c;并且以apk的方式提供出来&#xff0c;供我们测试使用&#xff0c;如果要运行apk&#xff0c;需要先安装安卓的模拟器。 可以选择国内的安卓模拟器产品&#xff0c;比如&#xff1a;网…

案例-商品列表(组件封装)

标签组件封装 1.双击显示&#xff0c;自动聚焦 2.失去焦点&#xff0c;隐藏输入框 标签一列&#xff0c;不同行的标签内容不同&#xff0c;但是除此之外其他基本一致&#xff0c;所以选择用 标签组件 将这一部分封装为一个组件&#xff0c;需要时组件标签展示。 首先标签处一进…

Linux socket编程

目录 基础概念端口和端口号Socket&#xff08;套接字&#xff09;UDP和TCP的概念 Socket编程实战socket的类型struct sockaddrstruct sockaddr_in网络字节序socket APITCP网络编程流程分析UDP Demo样例 other概念补充setsockopt函数心跳机制面向字节流与面向报文的理解 参考 基…

Linux update-alternatives 命令详解

1、查看所有候选项 sudo update-alternatives --list &#xff08;java筛选​​​​​​​sudo update-alternatives --list java&#xff09; 2、​​​​​​​更换候选项 sudo update-alternatives --config java 3、自动选择优先级最高的作为默认项 sudo update-alterna…

unity3d—demo(2d人物左右移动发射子弹)

目录 人物代码示例&#xff1a; 子弹代码示例&#xff1a; 总结上面代码&#xff1a; 注意点&#xff1a; 人物代码示例&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine;public class PlayerTiao : MonoBehaviour {public f…

JSP技术发展现状

多年前&#xff0c;Java入门时学习的JSP可谓时风光无限&#xff0c;J2EE如日中天&#xff0c;短短数年&#xff0c;技术迭代更新光速般发展&#xff0c;有些技术慢慢就退出历史舞台。 JSP&#xff08;Java Server Pages&#xff09; 技术在早期 Java Web 开发中曾是构建动态网…

科技绽放-EtherCAT转Profinet网关智能连接项目

一、项目名称 备选名称及含义&#xff1a;开疆智能EtherCAT转Profinet网关智能连接项目&#xff1a;直接体现了从Profinet到EtherCAT的连接核心内容&#xff0c;智能连接突出了该项目的技术特点。工业互联方案强调了该项目在工业领域实现不同协议设备互联的目标&#xff0c;方案…

《计算机网络》(408大题)

2009 路由转发和静态路由的计算 子网划分、路由聚合的计算 注&#xff1a;CIDR中的子网号可以全为0或1&#xff0c;但是其主机号不允许。 注&#xff1a; 这里其实是把到互联网的路由当做了一个默认路由&#xff08;当一个目的网络地址与路由表中其他都不匹配时&#xff0c;…

matlab读取NetCDF文件

matlab对NetCDF文件进行信息获取和读取数据 文章目录 前言一、什么是NetCDF文件二、读取NetCDF文件数据 1.引入库 2.读入数据总结 前言 在气象学中&#xff0c;许多气象数据存储在NetCDF文件中&#xff0c;后缀为.nc&#xff0c;通常可以用NCL、python和MATLAB等对该…

MySQL用户管理、权限管理练习

1.使用root用户登录MySQL客户端&#xff0c;创建一个名为userl的用户&#xff0c;初始密码为123456; 创建一个名为user2的用户&#xff0c;无初始密码。然后&#xff0c;分别使用uesr1、user2登录MySQL 客户端。 2.使用root用户登录&#xff0c;将user2用户的密码修改为abcabc。…

SpringAOP手动模拟实现反射注解Jdk动态代理

代理 package com.xtq.aop.proxy;import com.xtq.annotations.After; import com.xtq.annotations.Before; import com.xtq.annotations.Pointcut;import java.lang.annotation.Annotation; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Invocation…

算法-字符串-3.无重复字符的最长子串

一、思路&#xff1a; 无重复针对唯一的元素首选哈希表方法 在字符串中找出最长字串——动态数组 二、使用的一些常见方法 1.HashMap a.声明 HashMap<Character,Integer> mapnew HashMap(); b.添加元素 map.put(s.charAt(i),i); c.查询是否有对应的元素存在并获取 m…

Ubuntu中安装配置交叉编译工具并进行测试

01-下载获取交叉编译工具的源码 按照博文 https://blog.csdn.net/wenhao_ir/article/details/144325141的方法&#xff0c;把imx6ull的BSP下载好后&#xff0c;其中就有交叉编译工具。 当然&#xff0c;为了将来使用方便&#xff0c;我已经把它压缩并传到了百度网盘&#xff…

Idea实现定时任务

定时任务 什么是定时任务&#xff1f; 可以自动在项目中根据设定的时长定期执行对应的操作 实现方式 Spring 3.0 版本之后自带定时任务&#xff0c;提供了EnableScheduling注解和Scheduled注解来实现定时任务功能。 使用SpringBoot创建定时任务非常简单&#xff0c;目前主要…

Cesium 问题: 添加billboard后移动或缩放地球,标记点位置会左右偏移

文章目录 问题分析原先的:添加属性——解决漂移移动问题产生新的问题:所选的经纬度坐标和应放置的位置有偏差解决坐标位置偏差的问题完整代码问题 添加 billboard 后, 分析 原先的: // 图标加载 function addStation ({lon, lat, el, testName

PHP中GD库的使用

由于我要用到php的验证码 <?php session_start();// 生成验证码 $random_code substr(md5(uniqid(mt_rand(), true)), 0, 6);// 将验证码保存到 session 中 $_SESSION[captcha] $random_code;// 创建图片 $font 6; $image_width 100; $image_height 40;// 创建图像 $…

精确的单向延迟测量:使用普通硬件和软件

论文标题&#xff1a;Precise One-way Delay Measurement with Common Hardware and Software&#xff08;精确的单向延迟测量&#xff1a;使用普通硬件和软件&#xff09; 作者信息&#xff1a;Maciej Muehleisen 和 Mazen Abdel Latif&#xff0c;来自Ericsson Research Eri…

数据挖掘:一、Weka软件的基本操作

实验目的和要求 了解Weka软件的使用 实验环境 Windows11 Weka3.8.6 实验内容与过程 实验内容 1、了解Weka使用的一般步骤 2、利用Weka,对数据集进行关联规则挖掘及数据分类 3、记录操作步骤、使用的数据、最终的结果 实验过程 首先打开weka下载官网,选择合适

【Notepad++】---设置背景为护眼色(豆沙绿)最新最详细

在编程的艺术世界里&#xff0c;代码和灵感需要寻找到最佳的交融点&#xff0c;才能打造出令人为之惊叹的作品。而在这座秋知叶i博客的殿堂里&#xff0c;我们将共同追寻这种完美结合&#xff0c;为未来的世界留下属于我们的独特印记。 【Notepad】---设置背景为护眼色&#xf…

【微服务】SpringBoot 对接飞书多维表格事件回调监听流程详解

目录 一、前言 二、前置准备 2.1 创建一个应用 2.2 准备一张测试使用的多维表 2.3 获取对接文档 2.4 工程中添加SDK 三、对接过程 3.1 配置Encrypt Key 和 Verification Token 3.2 配置订阅方式 3.3 添加事件 3.4 申请权限 3.5 编写订阅代码 3.6 订阅文档事件 3.…