【AI绘画】万字长文——(超详细)ControlNet的详细介绍使用Stable Diffusion的艺术二维码完全生成攻略

目录

  • 前言
  • 一、名词解释
    • 1-1、Stable Diffusion介绍
    • 1-2、ControlNet介绍
      • 1-2-1、ControlNet介绍&工作原理
      • 1-2-2、ControlNet控制方法介绍
    • 1-3、案例分析
      • 1-3-1、室内装修设计
      • 1-3-2、品牌创意海报
    • 1-4、stable-diffusion-webui 的参数解释
  • 二、生成方法
    • 2-1、图像到图像
      • 2-1-1、二维码生成
      • 2-1-2、选择云端平台来启动Stable Diffusion的Web UI
      • 2-1-3、使用Stable Diffusion来修饰二维码
    • 2-2、使用控制网络将文本转图像
      • 2-2-1、二维码生成
      • 2-2-2、安装插件——After Detailer
    • 2-2-3、安装QR Code Monster 模型
    • 2-2-4、模型参数设置
    • 2-2-5、出图
  • 三、附录
    • 3-1、ControlNet模型
      • 3-1-1、Controlnet QR Pattern (QR Codes)
      • 3-1-2、monster-labs/control_v1p_sd15_qrcode_monster
      • 3-1-2、ioclab/ioc-controlnet
  • 总结


前言

详细介绍ControlNet的各个部分,相关案例,以及使用二维码作为ControlNet模型的输入的Stable Diffusion生成的图像,使二维码转变为艺术图像

在这里插入图片描述

一、名词解释

1-1、Stable Diffusion介绍

Stable Diffusion:是StabilityAI于2022年8月22日发布的文本到图像模型。它类似于OpenAI的DALL·E 2和Midjourney等其他图像生成模型,但有一个很大的不同:它是开源的,在发布后的短短几周内,围绕Stable Diffusion模型和相关工具的创新出现了爆炸式增长。Stable Diffusion在速度上的突破也意味着,模型第一次可以在消费类gpu上运行,而不是在超级计算机上。这对于Stable Diffusion影响力的快速增长带来了巨大意义! Stable Diffusion的技术细节如下

Stable Diffusion是一种扩散模型(diffusion model)的变体,叫做“潜在扩散模型”(latent diffusion model; LDM)。扩散模型是在2015年推出的,其目的是消除对训练图像的连续应用高斯噪声,可以将其视为一系列去噪自编码器。Stable Diffusion由3个部分组成:变分自编码器(VAE)、U-Net和一个文本编码器。与其学习去噪图像数据(在“像素空间”中),而是训练VAE将图像转换为低维潜在空间​(英语)。添加和去除高斯噪声的过程被应用于这个潜在表示,然后将最终的去噪输出解码到像素空间中。在前向扩散过程中,高斯噪声被迭代地应用于压缩的潜在表征。每个去噪步骤都由一个包含残差神经网络​(粤语)(ResNet)中间的U-Net架构完成,通过从前向扩散往反方向去噪而获得潜在表征。最后,VAE解码器通过将表征转换回像素空间来生成输出图像。研究人员指出,降低训练和生成的计算要求是LDM的一个优势。去噪步骤可以以文本串、图像或一些其他数据为条件。调节数据的编码通过交叉注意机制(cross-attention mechanism)暴露给去噪U-Net的架构。为了对文本进行调节,一个预训练的固定CLIP ViT-L/14文本编码器被用来将提示词​转化为嵌入空间。

简单来说:Stable Diffusion是一种深度学习算法,它使用文本作为输入来生成渲染图像。它的工作原理是一个扩散过程,在这个过程中,图像通过一系列步骤逐渐从随机噪声变成连贯图像。该模型经过训练,可以根据提供的文本提示来指导此过程,

以下是stablediffusion官方仓库:https://github.com/Stability-AI/StableDiffusion
在这里插入图片描述

1-2、ControlNet介绍

1-2-1、ControlNet介绍&工作原理

ControlNet: ControlNet是一种通过添加附加条件来控制扩散模型(例如Stable Diffusion)的神经网络结构。一般的使用方法是结合Stable Diffusion来做到精准控图。
在这里插入图片描述
简单工作原理:在带有ControlNet的图像训练过程中,一共有2种条件会作用到生成图像上,其一是提示词(prompt),另一个就是由ControlNet引入的各种自定义条件(Condition)。

以下是ControlNet对应模型的一个命名规则:需要注意的是是否是p,即可用于生成以及控制方法。
请添加图片描述

1-2-2、ControlNet控制方法介绍

Invert
Invert 用于检测用户上传的图像。预处理器和模型通常需要在黑色图像上使用白线来检测(也就是灰度图)。但如果你的图是白色图像上的黑线,就必须使用这个工具来切换颜色了,不然controlNet模型会无法正确识别输入图中的信息。注意这种情况在涂鸦模式和线稿填色场景中非常常见。
对应模型:无

测试如下:点击中间的按钮可以预览预处理后的轮廓线,左侧是原图,右侧是预处理后的图。

在这里插入图片描述

Canny
Canny 通过使用边缘检测器提取图像中的所有重要轮廓线。通过调节阈值,可以使线条捕捉到非常详细的信息,但也会因此让图像背景中固有的干扰信息影响你的目标物体,所以在必要时可通过设置边缘检测阈值达到过滤出特定边缘信息的目的。注意,对于一些细节丰富的训练图可能并不适合使用Canny提取边缘。
对应模型:control_v11p_sd15_canny

测试如下:点击中间的按钮可以预览。

在这里插入图片描述

Lineart
是Canny的替代者,但是能够比canny更加精准的提取二次元(使用anime后缀),或真实照片(使用realistic后缀)图片的线稿。具体效果参考下方图示。
对应模型:control_v11p_sd15_lineart

测试如下:点击中间的按钮可以预览。

在这里插入图片描述

拓展:使用线条图生成不一样风格的二次元少女,小例子, 我这里没有加提示词,使用国风模型,随机生成。

在这里插入图片描述
在这里插入图片描述

Softedge
对应了以前的HED(Holistically-nested Edge Detection),既软边缘检测,它可以在物体周围创建清晰和精细的边界,输出类似于Canny,但减少了噪声和更柔软的边缘。它的有效性在于能够从复杂的细节中捕捉(过滤出)需要的轮廓信息,同时也保留了一定量的细节特征(面部表情、头发、手指等)。同Canny,我们一般用此预处理器保留原图线条轮廓,修改风格和颜色。
对应模型: control_v11p_sd15_softedge

测试如下:点击中间的按钮可以预览。

在这里插入图片描述

Openpose
这个预处理器的基础款用于生成了一个基于节点和连线的骨骼火柴人的形象。相较于其他固定角色姿势的controlnet方案来说,这种技术的优势是支持多个 OpenPose 骨架组合成一个图像,达到精确控制多角色同屏的效果。此外由于还支持通过插件手动调节骨骼节点,也就便利了喜欢自已定义动作的同学。所有这些辅助骨骼信息会形成ControlNet的输入条件(condition)从而影响和引导稳定扩散模型的生成过程,获得符合预设姿势的生成图。
对应模型:control_v11p_sd15_openpose

测试如下:点击中间的按钮可以预览,这里我们使用faceonly去预处理。

在这里插入图片描述

MLSD:
最适合生成各种朝向的直线条,经MLSD输出的线条能较好的贴合物体上的各种直线轮廓,尤其适合勾勒建筑物和其他规则的几何造型物品。但是另一方面,MLSD不适用于提取图像中的各种弯曲线条。基于上述特性,该模型常用于生成室内外渲染图,或者具有简约直线条风格的艺术/工艺作品。通过简单横竖线条固定下场景的基调,由稳定扩散模型填充/创作具体细节,以达到同设计替换风格的效果。
对应模型:control_v11f1p_sd15_mlsd

测试如下:点击中间的按钮可以预览。

在这里插入图片描述

Normal:
Normal: 法线图使用三种颜色通道来表示一个垂直于像素点表面的朝向(法向)信息。法线图能很好的还原大块物体面的朝向,这有利于光照,形状和体积(透视/景深)的还原。同时得益于细节的保留,使用法线图也可以间接反应物体表面的粗糙度和光滑程度。
对应模型:control_v11f1p_sd15_normalbae

测试如下:点击中间的按钮可以预览。

在这里插入图片描述

Tile:
Normal: 法线图使用三种颜色通道来表示一个垂直于像素点表面的朝向(法向)信息。法线图能很好的还原大块物体面的朝向,这有利于光照,形状和体积(透视/景深)的还原。同时得益于细节的保留,使用法线图也可以间接反应物体表面的粗糙度和光滑程度。
对应模型:control_v11f1p_sd15_normalbae

1-3、案例分析

1-3-1、室内装修设计

概述毛胚房装修。大模型直接用Deliberate,如下图所示:

请添加图片描述

  • 使用MLSD功能勾勒出毛胚房的直线

在这里插入图片描述

  • 使用seg,语义分割来区分不同区域
    在这里插入图片描述
  • 提示词如下所示

Prompt:

Nayuta Nordic Modern Interior Design, ray tracing, best shadow, (realistic, photorealistic:1.5), professional lighting, photon mapping, radiosity, physically-based rendering, sunlight, large window, no humans, indoors, scenery, wooden floor, smooth wall, bedroom, bed, pillow, floor lamp, couch, table, chair, curtain, carpet, potted plant, flower, vase, clock, book, white ceiling, white wall, award-winning contemporary design <lora:Nordic Modern Interior Style:0.65>,, (best quality),((masterpiece)),(highres), original, extremely detailed 8K wallpaper,(an extremely delicate and beautiful),

Negative prompt

Negative prompt: bad_prompt_version2-neg, negative_hand-neg, ng_deepnegative_v1,
Steps: 30, Sampler: Euler a, CFG scale: 7, Seed: 3145605567, Size: 496x336, Model hash: 9aba26abdf, Model: deliberate_v2, Denoising strength: 0.35, ControlNet 0: "preprocessor: mlsd, model: control_v11p_sd15_mlsd [aca30ff0], weight: 1, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: True, control mode: Balanced, preprocessor params: (512, 0.1, 0.1)", ControlNet 1: "preprocessor: seg_ofade20k, model: control_v11p_sd15_seg [e1f51eb9], weight: 1, starting/ending: (0, 1), resize mode: Crop and Resize, pixel perfect: True, control mode: Balanced, preprocessor params: (512, 64, 64)", Hires upscale: 2, Hires upscaler: BSRGAN

效果图

在这里插入图片描述

1-3-2、品牌创意海报

概述:品牌Logo海报设计,模型使用ReV Animated,这里以抖音logo为例。请添加图片描述

  • 使用Lineart勾勒出线稿,ControlNet中的设置如下所示。
    在这里插入图片描述

  • 接下来需要找一个风格图片,与logo混合。
    请添加图片描述

  • 启用第二个ControlNet,调用Shuffle工具,将图片风格与Logo混合。

在这里插入图片描述

  • 提示词如下所示

Prompt:

neon lights, science fiction, cyberpunk, masterpiece, best quality, ray tracing, (best quality), ((masterpiece)), (highres), original, extremely detailed 8K wallpaper, (an extremely delicate and beautiful), incredibly_absurdres, colorful, intricate detail, artbook <lora:LowRA:0.6>, <lora:FilmVelvia3:0.4>, 

Negative prompt

lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, EasyNegative, animal

出图效果:第三张、第四张图为第一个ControlNet单元的效果改为深度Depth后的出图效果。

请添加图片描述

请添加图片描述
在这里插入图片描述
在这里插入图片描述

1-4、stable-diffusion-webui 的参数解释

  • Prompt: 提示词(正向)
  • Negative prompt: 消极的提示词(反向)
  • Width & Height: 要生成的图片尺寸。尺寸越大,越耗性能,耗时越久。(注意,最好保持默认)
  • CFG scale: AI 对描述参数(Prompt)的倾向程度。值越小生成的图片越偏离你的描述,但越符合逻辑;值越大则生成的图片越符合你的描述,但可能不符合逻辑。
  • Sampling method: 采样方法。有很多种,但只是采样算法上有差别,没有好坏之分,选用适合的即可。(多尝试)
  • Sampling steps: 采样步长。太小的话采样的随机性会很高,太大的话采样的效率会很低,拒绝概率高(可以理解为没有采样到,采样的结果被舍弃了)。
  • Seed: 随机数种子。生成每张图片时的随机种子,这个种子是用来作为确定扩散初始状态的基础。默认-1,即随机生成。(主要是设置固定的种子,以后可以复现相同的结果)

二、生成方法

2-1、图像到图像

图像到图像:想象一下,我们可以把一个带有QR码的图片放进计算机,然后让计算机以一种稳定而有序的方式重新绘制QR码里的每个小方块。这一过程不需要任何额外的特殊指令,就像是我们把一张图放在计算机上,它会自动帮我们重新把图上的QR码绘制出来,而且这个过程会很平稳,不会出现什么混乱,这个过程并不需要使用到ControlNet。

Stable Diffusion中的图生图介绍

Stable Diffusion包括另一个取样脚本,称为"img2img",它接受一个提示词、现有图像的文件路径和0.0到1.0之间的去噪强度,并在原始图像的基础上产生一个新的图像,该图像也具有提示词中提供的元素;去噪强度表示添加到输出图像的噪声量,值越大,图像变化越多,但在语义上可能与提供的提示不一致。图像升频是img2img的一个潜在用例,除此之外。

2-1-1、二维码生成

为了增加二维码的识别成功率,二维码的生成需要遵循以下准则

  • 在二维码的周围要留白
  • 用黑白图案填充最基本的正方形

这里我们使用https://34qr.com/en/网站来生成二维码。
第一步:选择类型
在这里插入图片描述

第二步:留出空白并点击生成
在这里插入图片描述

第三步:下载生成的二维码
在这里插入图片描述

注意:直接截图个人二维码也是可以的,只不过识别通过率会降低一些。

2-1-2、选择云端平台来启动Stable Diffusion的Web UI

Web UI启动:使用云端平台方便、简洁,这里我们选择使用云端平台揽睿星舟-GPU算力平台,注册账号之后去寻找应用市场。现已上线以下功能:

正式发布-StableDiffusion1.6+SDXL全插件版,【内置全网最全插件】,已受到诸多用户好评:
①基础版所有插件
②ebsynth_utility
③sd-webui-animatediff
④sd-webui-EasyPhoto(官方合作,可炼模特LoRA,一键换脸)
⑤sd-webui-inpaint-anything(轻松点选确定蒙版区域,一键换脸,一键换背景)
⑥Stable-Diffusion-WebUI-TensorRT

网盘功能大更新【当你需要传自己的LoRA时】
①支持百度网盘直接传输,尊贵的VIP会员平均30MB/s速度,模型/插件传输不再焦虑等待
②支持URL直接传输,只需有下载地址,任何文件皆直接传输,不占用本地网速&空间。自带学术加速,支持C站直接拉取模型

秋葉炼丹镜像上线【当你需要更精细化的炼自己的LoRA时】
由秋葉亲手制作的丹炉镜像上线,配合4090,10分钟一炉丹!

具体操作步骤

  • 在我的应用里点击Stable-Diffusion
  • 选择新建实例
  • 选择web3.0,这里默认使用3090,为1.9/h,点击创建实例。
  • 点击地址,即可进行体验。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2-1-3、使用Stable Diffusion来修饰二维码

打开网址后的界面如下

在这里插入图片描述

  • 第一步:选择img2img并且上传二维码,调整好相关参数。
    Resize mode: Just resize
    Sampling method: DPM++2M Karras
    Sampling step: 50
    Width: 768
    Height: 768
    CFG Scale: 7
    Denoising strength: 0.75

在这里插入图片描述

  • 第二步:上传二维码到ControlNet,调整好相关参数后选择模型(我这里选的是国风3,可以尝试其他模型),点击生成即可。
    Enable: Yes
    Control Type: Tile
    Preprocessor: tile_resample
    Model: control_xxx_tile
    Control Weight: 0.87
    Starting Control Step: 0.23
    Ending Control Step: 0.9

在这里插入图片描述

Prompt:

cloud, 1girl, sky, water, ocean, cloudy sky, blue eyes, blue sky, halo, window, solo, white hair, horizon, planet, constellation, day

Negative prompt:

ng_deepnegative_v1_75t, (low quality, worst quality:1.4), (bad anatomy), (inaccurate limb:1.2), bad composition, inaccurate eyes, extra digit, fewer digits, (extra arms:1.2)

  • 完整界面如下:不是每一次都可以识别到二维码的,可以进行多次尝试。
    在这里插入图片描述

其他生成图片

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2-2、使用控制网络将文本转图像

文本转图像: 我们可以创造出带有提示的图像,就像给计算机一些关键信息让它完成绘画一样。而且我们还能够通过在图像制作过程中使用带有QR码输入的ControlNet,就像是给计算机一些特殊指令,来对图像生成过程进行精细调整和干预,确保最终的图像符合我们的预期。这就像是在制作一幅画时,不仅告诉计算机要画什么,还能在每一步告诉它怎么画,从而得到更理想的结果。相比于图像到图像,文本转图像会有更好的效果。

Stable Diffusion中的文生图介绍

Stable Diffusion中的文生图采样脚本,称为"txt2img",接受一个提示词,以及包括采样器(sampling type),图像尺寸,和随机种子​的各种选项参数,并根据模型对提示的解释生成一个图像文件。生成的图像带有不可见的数字水印标签,以允许用户识别由Stable Diffusion生成的图像,尽管如果图像被调整大小或旋转,该水印将失去其有效性。 Stable Diffusion模型是在由512×512分辨率图像组成的数据集上训练出来的,这意味着txt2img生成图像的最佳配置也是以512×512的分辨率生成的,偏离这个大小会导致生成输出质量差。Stable Diffusion 2.0版本后来引入了以768×768分辨率图像生成的能力。每一个txt2img的生成过程都会涉及到一个影响到生成图像的随机种子;用户可以选择随机化种子以探索不同生成结果,或者使用相同的种子来获得与之前生成的图像相同的结果。 用户还可以调整采样迭代步数(inference steps);较高的值需要较长的运行时间,但较小的值可能会导致视觉缺陷。另一个可配置的选项,即无分类指导比例值,允许用户调整提示词的相关性(classifier-free guidance scale value);更具实验性或创造性的用例可以选择较低的值,而旨在获得更具体输出的用例可以使用较高的值。反向提示词(negative prompt)是包含在Stable Diffusion的一些用户界面软件中的一个功能(包括StabilityAI自己的“Dreamstudio”云端软件即服务模式订阅制服务),它允许用户指定模型在图像生成过程中应该避免的提示,适用于由于用户提供的普通提示词,或者由于模型最初的训练,造成图像输出中出现不良的图像特征,例如畸形手脚。与使用强调符(emphasis marker)相比,使用反向提示词在降低生成不良的图像的频率方面具有高度统计显著的效果;强调符是另一种为提示的部分增加权重的方法,被一些Stable Diffusion的开源实现所利用,在关键词中加入括号以增加或减少强调。

参数

  • Control weight: 权重越高,ControlNet对输出的影响越大。
  • Start control step: ControlNet开始生效时生成进程的百分比。
  • End control step: ControlNet停止生效时生成进程的百分比。

在这里插入图片描述

2-2-1、二维码生成

推荐使用QR Toolkit来生成二维码,网站界面如下:
在这里插入图片描述
参数介绍:整体的一个构造思想——将二维码和你要绘制的图片融合在一起,使得整体看起来不违和,可以多次尝试。

  • 文本框:填写你想制作成二维码的链接或者是文字。
  • Error Correction: 容错率,数值越高,抗损毁能力越强,在二维码部分被损害的情况下也可以识别,这里建议选择最高。
  • Boost ECC: 加强容错率,直接选。
  • Mask Patten: 二维码样式,可以去尝试选择一个分布均匀的,这样与图片融合会更加自然。
  • Markers: 二维码内部的一些样式,可以多去尝试,在能识别的情况下,尽可能让二维码变得均匀。
  • Margin: 空白,在二维码边缘添加噪声,让二维码形式弱化。
  • Transform:旋转,以x、y等方向旋转二维码。

2-2-2、安装插件——After Detailer

插件地址:https://github.com/Bing-su/adetailer
安装方式

  • 打开webui
  • 打开 扩展栏-Extensions
  • 打开 Install from URL栏
  • 输入git地址并点击install,重新启动UI即可看到。
  • 参数设置如下图所示:点击启用,选择模型,调整参数,其他不变

在这里插入图片描述

2-2-3、安装QR Code Monster 模型

步骤

  • 打开https://huggingface.co/monster-labs/control_v1p_sd15_qrcode_monster,我们需要下载的是一个模型文件和一个配置文件
  • 下载后将模型和配置文件放到Controlnet->models文件夹内。(模型文件和配置文件缺一不可!
  • 安装好后重启UI可以在ControlNet界面选择模型。

在这里插入图片描述

  • 在ControlNet界面,启用该插件,预处理Preprocessor设置为None,即不进行预处理,模型设置为刚下载的模型,开始控制设置为0-0.1,终止控制设置为0.8-1,可以之后自行调参,控制模式设置为平衡,Resize Mode设置为 Resize and Fill。

在这里插入图片描述

2-2-4、模型参数设置

模型选择:我这里选择国风3,
步数:50
采样器:DPM++ 2M SDE Karras
CFG:7
尺寸:512*512 px
Hire.fix:是否开启高清修复,选择。

Prompts:

masterpiece, top quality, best quality, 1 girl, full body, flowers

Negative Prompts:

(nsfw)), (worst quality, low quality:2) , ng_deepnegative_v1_75t, EasyNegative, badhandv4

Prompts:

(masterpiece, high quality, highres,illustration),blurry background,[(white background:1.2)::5],cowboy shot,
spring (season),(no light:1.1),(temptation:1.2),elegance,
(1loli:1.1),(very long hair:1.1),(blush:0.7),floating hair,ahoge,deep sky,star (sky),
(summer (Floral:1.2) dress:1.1),outline,(see-through:0.85),shining,low twintails,
(polychromatic peony:1.15),Movie poster,(colorful:1.1),ornament,petals,(pantyhose:1.1),
ribbon,

Negative Prompts:

sketch, duplicate, ugly, huge eyes, text, logo, worst face, (bad and mutated hands:1.3), (worst quality:2.0), (low quality:2.0), (blurry:2.0), horror, geometry, bad_prompt, (bad hands), (missing fingers), multiple limbs, bad anatomy, (interlocked fingers:1.2), Ugly Fingers, (extra digit and hands and fingers and legs and arms:1.4), ((2girl)), (deformed fingers:1.2), (long fingers:1.2),(bad-artist-anime), bad-artist, bad hand, extra legs, nipples,nsfw,

参数界面
在这里插入图片描述

2-2-5、出图

请添加图片描述

请添加图片描述

三、附录

3-1、ControlNet模型

3-1-1、Controlnet QR Pattern (QR Codes)

Controlnet QR Pattern (QR Codes)链接:https://civitai.com/models/90940/controlnet-qr-pattern-qr-codes

在这里插入图片描述

测试的可以识别到的最低参数权重
在这里插入图片描述

3-1-2、monster-labs/control_v1p_sd15_qrcode_monster

monster-labs/control_v1p_sd15_qrcode_monster链接:https://huggingface.co/monster-labs/control_v1p_sd15_qrcode_monster

在这里插入图片描述

3-1-2、ioclab/ioc-controlnet

ioclab/ioc-controlnet链接:https://huggingface.co/ioclab/ioc-controlnet/tree/main/models
在这里插入图片描述

特别鸣谢以下参考文章的作者
Stable Diffusion QR Code 101.
Stable Diffusion Knowledge Hub.
The Ultimate Stable Diffusion LoRA Guide (Downloading, Usage, Training).
ControlNet-GitHub.
How to make a QR code with Stable Diffusion.
AI - AI绘画的精准控图(ControlNet).
AIGC—— StableDiffusion中的ControlNet.
ControlNet v1.1: A complete guide
How does Stable Diffusion work?
Stable Diffusion Prompt 运用技巧
Prompt 工具網站
Stylistic QR Code with Stable Diffusion
Stable Diffusion丨模型管理插件Civitai Helper
保姆级教程!如何用AI快速生成超好看的艺术二维码?
QR Toolkit 插件 git 网址
After Detailer 插件
二维码融合技术2.0 简单实用AI教程 没想到一周不到就要把教程从头到尾推翻升级


总结

越来越有意思了😍

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

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

相关文章

Python使用netmiko配置华为交换机

一、netmiko介绍 1.更适合网络设备的自动化运维模块。 二、场景 1、批量查询 2、批量配置变更、备份 三、项目地址 GitHub - ktbyers/netmiko: Multi-vendor library to simplify Paramiko SSH connections to network devices 三、使用步骤 1.安装netmiko pip install ne…

D6208单片双向马达驱动电路国产芯片,工作电源电压范围宽(4.5V~15.0V),内设保护二极管采用SOP8封装

D6208 是一块单片双向马达驱动电路&#xff0c;它使用TTL电平的逻辑信号就能控制卡式录音机和其它电子设备中的双向马达。该电路由一个逻辑部分和一个功率输出部分组成。逻辑部分控制马达正、反转向及制动&#xff0c;功率输出部分根据逻辑控制能提供100mA&#xff08;典型值&a…

腾讯地图系列(二):微信小程序添加插件(三种方法)以及插件AppId获取

目录 第一章 前言 第二章 添加插件 2.1 微信小程序添加插件方法一&#xff08;微信公众平台添加插件&#xff09; 2.2 微信小程序添加插件方法二&#xff08;通过项目配置添加插件&#xff09; 2.3 微信小程序添加插件方法三&#xff08;微信公众平台服务市场添加插件&…

spring mvc理解

spring mvc M&#xff1a;model 模型 V&#xff1a;view 视图 C&#xff1a;controller 控制器 S: service 服务处理 D: Dao 数据持久化 视图 我理解就是web页面&#xff0c;帮助用户调用后端接口。 前后端分离之后&#xff0c;view似乎就和后端没什么关系了。 模型 格式…

zabbix6.4监控交换机发现ICMP报错Ping item must have target or host interface specified

报错信息&#xff1a; 查看监控项&#xff1a; 修改键值&#xff1a; 保存再次检查&#xff0c;发现又报错/usr/sbin/fping: [2] No such file or directory 原因是&#xff0c;zabbix-server上没有安装fping工具 解决方法&#xff1a;yum install fping -y 之后数据采集正常…

【unity3D】Transform组件(如何访问和获取Transform组件)

&#x1f497; 未来的游戏开发程序媛&#xff0c;现在的努力学习菜鸡 &#x1f4a6;本专栏是我关于游戏开发的学习笔记 &#x1f236;本篇是unity的Transform组件 Transform组件 基础知识介绍三个成员变量常用属性扩展 Transform的相关查找方法静态方法 基础知识 介绍 在Unit…

mapbox实现框选要素

成果图 参考博客 https://blog.csdn.net/ScapeD/article/details/89158755 原理与源码 利用mapbox的queryRenderedFeatures方法可以获取范围内的要素&#xff0c;但是这个只能是点和矩形和范围内的全屏要素&#xff0c;并不支持多边形&#xff0c;所以实现这个的思路就是画完框…

【JavaEE进阶】 Spring核⼼与设计思想

文章目录 &#x1f332;Spring 是什么&#xff1f;&#x1f384;什么是IoC呢&#xff1f;&#x1f388;传统程序开发&#x1f388;传统程序开发的缺陷&#x1f388;如何解决传统程序的缺陷&#xff1f;&#x1f388;控制反转式程序开发&#x1f388;对⽐总结规律 &#x1f340;…

适用于 Windows 的最佳(免费/付费)数据恢复软件

借助最佳数据恢复工具从 Windows PC 恢复丢失和删除的数据 您是否正在寻找一种巧妙的方法来从计算机中取消删除或恢复已删除的文件&#xff1f;如果是&#xff0c;那么这篇文章就是为您准备的&#xff01;在本教程中&#xff0c;我们整理了一份全面的数据恢复软件列表&#xf…

机器人学习目标

学习目标&#xff1a; 若干年后&#xff0c;我们都将化为尘土&#xff0c;无人铭记我们的存在。那么&#xff0c;何不趁现在&#xff0c;尽己所能&#xff0c;在这个世界上留下一些痕迹&#xff0c;让未来的时光里&#xff0c;仍有人能感知到我们的存在。 机器人协会每届每个阶…

外包干了4年,技术退步明显...

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

postgres pg_dump: fe_sendauth: no password supplied问题处理

postgres pg_dump: fe_sendauth: no password supplied问题处理 1、pg_dump: fe_sendauth: no password supplied问题处理&#xff08;root 用户&#xff09;2、解决方法2.1、创建 .pgpass文件2.2、chmod 600 ~/.pgpass 3、额外情况 1、pg_dump: fe_sendauth: no password supp…

文件重命名:删除文件名中的空格,提高文件可读性和可管理性的方法

在计算机科学中&#xff0c;有效的文件管理对于提高工作效率和保持数据的一致性至关重要。工作中经常会遇到文件名中包含空格的情况&#xff0c;这不仅会使文件在某些情况下难以读取&#xff0c;而且可能导致管理上的困扰。在文件名中添加空格可能会使文件名变得模糊和不明确&a…

我有才知识付费小程序免费搭建:轻松拥有知识付费平台

用户管理 提供会员特权和积分奖励&#xff0c;提高用户忠诚度和购买力。 用户通过在平台上进行消费、签到、参与活动等方式获取积分&#xff0c;用于兑换丰厚奖品或提升会员等级。增强用户的参与感与忠诚度&#xff0c;提高用户粘性&#xff0c;并刺激用户的购买力。 为用户打…

Arduino学习笔记2023年11月30日

目录 1 编程软件下载2 代码结构3 IO引脚控制3.1 引脚初始化3.2 引脚使用数字量输出数字量输入模拟量输出模拟量输入 4 串口串口初始化串口输出串口输入 5 外部中断6 函数6.1 映射区间函数6.2 延时函数 总结 1 编程软件下载 官网链接&#xff1a;https://www.arduino.cc/ 下载链…

SpringBoot 配置文件使用@ @取值

目录 一、背景 二、遇到的问题 三、解决办法 一、背景 &#xff08;1&#xff09;我在项目中引入了如下依赖&#xff0c;目的是开启SpringBoot为我们提供的监控(Actuator)功能。 <!-- 引入SpringBoot 监控功能 --> <dependency><groupId>org.springframew…

PWM控制器电路D9741,定时闩锁、短路保护电路,输出基准电压(2.5V) 采用SOP16封装形式

D9741是一块脉宽调制方三用于也收路像机和笔记本电的等设备上的直流转换器。在便携式的仪器设备上。 主要特点&#xff1a;● 高精度基准电路 ● 定时闩锁、短路保护电路 ● 低电压输入时误操作保护电路 ● 输出基准电…

Linux服务器部署XXL-JOB

参考文档及下载地址&#xff1a;分布式任务调度平台XXL-JOB 1 从git拉取XXL-JOB代码 我们的大部分变动&#xff0c;是发生在xxl-job-admin&#xff0c;最终将这个模块打包成jar包部署在linux服务器上。 2 执行数据库脚本 doc\db\tables_xxl_job.sql 3 修改pom文件&#xff0c…

线程池原理初探

1.引言 合理利用线程池能够带来三个好处。第一&#xff1a;降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二&#xff1a;提高响应速度。当任务到达时&#xff0c;任务可以不需要的等到线程创建就能立即执行。第三&#xff1a;提高线程的可管理性。…

哈希表【1】

文章目录 &#x1f914;0.哈希表&#x1f33c;1. 两数之和&#x1f33b;1. 题目&#x1f337;2. 算法原理&#x1f33a;3. 代码实现 &#x1f348;面试题 01.02. 判定是否互为字符重排&#x1f34c;1. 题目&#x1f34f;2. 算法原理&#x1f353;3. 代码实现 &#x1f914;0.哈…