- 博客(230)
- 收藏
- 关注
原创 屏幕桌面总是隔一会自动刷新
摘要:当系统组件损坏导致Explorer异常时,可先运行sfc/scannow扫描。若无法修复,需使用DISM命令(DISM/Online/Cleanup-Image/RestoreHealth)从服务器下载干净文件修复系统库。若DISM失败(如报错0x800f081f),推荐采用"就地修复"方案:下载官方Windows ISO镜像,运行setup.exe并选择"保留个人文件和应用",通过覆盖安装修复系统文件,不会删除现有数据和软件。这是最稳妥的无损修复方法。
2026-04-21 09:03:58
218
原创 多维度numpy的切片部分介绍
本文解析了NumPy数组切片操作x[...,4:-nm]的具体含义。当x的形状为(1,8400,37)且nm=32时,...表示保留前两维,4:-nm对最后一维进行切片。-nm即-32,对应正索引5(37-32),因此切片范围为4:5。最终操作等价于x[:,:,4:5],表示从第4个位置开始到倒数第32个之前(即第5个位置)结束的切片。这种写法常用于处理多维数组时保留前导维度的场景。
2026-04-20 14:58:42
6
原创 Markdown 表格转 Excel
打开浏览器,搜索 “Markdown to Excel” 或 “Markdown Table to CSV”。点击转换,会生成 CSV 或 Excel 文件。下载 CSV 后,用 Excel 打开即可。选中粘贴的列 → 数据 → 分列 → 选择。复制 Markdown 表格(包括竖线。Excel 会把每列拆分到不同的单元格。将 Markdown 表格粘贴进去。打开 Excel,新建一个工作表。删除多余的首尾空格或竖线。选择一个单元格,粘贴。
2025-09-09 11:22:20
3006
原创 C++ STL 容器
STL 全称 Standard Template Library(标准模板库),是 C++ 提供的一套通用工具集合,主要包括:容器(Containers):用来存储数据的类模板,比如数组、链表、集合、映射等。算法(Algorithms):对容器里的数据进行操作的函数,比如排序、查找、拷贝、删除等。迭代器(Iterators):类似指针,用于遍历容器里的元素。容器就是 存放数据的对象。它们可以存储 多个元素,并提供一些操作接口,比如:增加元素(push_back / insert)删除元素(erase / p
2025-09-09 11:10:58
654
原创 QT环境部署
推荐用,它会自动分析 exe 依赖并打包到同目录。如果只是缺某个插件(比如qtiff.dll),可以手动放到 exe 同目录下的文件夹里。它是Visual Studio 自带的命令行工具。和普通 cmd 不同,这个命令行里已经自动配置好了编译器路径、Qt 的 MSVC 工具链环境,你直接用就能执行cl等命令。
2025-09-08 17:25:41
757
原创 vs2022 文本注释 扩展+工具+键盘快捷键
/ 跳到第 i 行。安装完成后,VS 菜单栏会出现 VC 或 Visual Commander 入口。菜单栏:VC → Visual Commander → Commands…搜索 Visual Commander,下载并安装。Name:CommentWithHash(任意名字)一、安装 Visual Commander。// 获取当前选中行范围。点击 New Command。菜单栏:扩展 → 管理扩展。打开 VS2022。重启 VS2022。
2025-09-05 13:50:21
302
原创 Hugging Face transformers 里 pipelines 的注册信息
摘要:HuggingFace Transformers库的pipeline注册信息汇总了各类AI任务的处理能力,涵盖文本、图像、音频等多模态任务。该表详细列出了26种任务类型,包括音频分类、语音识别、文本分类、图像分割等,标注了PyTorch/TensorFlow框架支持情况、默认模型及任务类别。其中15种任务支持双框架,6种专属PyTorch;文本类任务最多(12种),其次是多模态(8种)和图像类(7种)。默认模型多采用轻量级版本(如distilbert、vit-base),体现效率优先的设计理念。
2025-08-14 14:07:10
955
原创 VS Code 主题颜色配置文件
"activityBar.background": "#2B2D30", // 左侧活动栏(文件、搜索、源码管理等图标区)背景色。"panel.background": "#1E1F22", // 底部面板(终端、输出、调试控制台)背景色。"editor.background": "#1E1F22", // 编辑器代码区背景色(深灰接近黑色)"titleBar.activeBackground": "#3C3F41", // 顶部标题栏(活动窗口)背景色。
2025-08-12 08:48:52
608
原创 部署 diffusers(Hugging Face 版 Stable Diffusion)
系统:Windows / Linux / macOS(MPS 支持)然后加载 ControlNet 版本的 pipeline 组合即可。:推荐 NVIDIA,显存 ≥ 6GB(CPU 也行但会极慢)再运行 Hugging Face 的。(建议用 Miniconda)
2025-08-11 10:28:03
574
原创 对图片进行mask处理
摘要:该代码展示了基于掩膜(Mask)的图像处理流程。首先对300×300的图像imgA进行掩膜处理,将小于0的像素置零。然后提取满足条件的像素生成新数组mgA。接着进行两次自适应阈值处理:第一次计算全图均值mean1,生成掩膜mask1;第二次仅对大于mean1的像素区域计算均值mean2,生成更精确的掩膜mask2。该过程实现了基于像素值的多级筛选,可用于图像分割等任务。
2025-08-11 10:13:54
189
原创 对图片进行mask处理
mask = (mgA > mean).astype(np.uint8) # mask.shape 仍为 (300, 300)imgA = imgA[mask > 0] # imgA.shape => (N,), N 是满足条件的像素个数。imgA[mask < 0] = 0 # imgA.shape 仍为 (300, 300)对图片进行mask处理。
2025-06-11 13:44:07
191
原创 警告 C4819:该警告表示文件中存在当前代码页无法表示的字符。你可以通过以下方式解决这个警告:
使用UTF-8 BOM保存文件有助于确保在多种环境下,文件能够被正确解析和编译。这种做法在处理包含多种语言或特殊字符的源代码时尤其重要,能够避免由于编码不一致导致的问题。在Windows环境中,由于默认字符编码可能限制了某些字符的表示,使用UTF-8 BOM成为一个良好的实践。
2024-11-04 18:15:29
268
原创 PCH 警告: 头停上点不在文件范围内。未生成IntelliSensePCH 文件
一般就是头文件引用了新的头文件,也就是引入的头文件有依赖,把新的依赖的include放入包含目录即可。
2024-11-04 18:11:56
567
原创 c++头文件的一次导入多个头文件
你可以创建一个名为的文件,内容如下:然后,在你的源代码中只需包含这个自定义的头文件:// 创建一个 2x3 的 xarray// 打印数组return 0;是一种用于防止头文件被重复包含的指令。
2024-11-04 18:10:00
914
原创 利用vcpkg管理visual studio C++ 工具包(内容包括:CMake,Git)(模仿anaconda,python,numpy,matplotlib.pyplot,PIL.Image)
你可以在任意目录下使用vcpkg命令安装库,但安装的文件会自动存储到你设置的vcpkg目录下,而不会在当前工作目录中创建任何文件。这使得管理安装的库变得更加方便。vcpkgvcpkg提供了丰富的 C++ 库,覆盖科学计算、图形学、机器学习、并发编程等领域,可以根据具体项目需求选择相应的库,避免手动安装和配置依赖的麻烦。三、CMake的下载vcpkg使用CMake来编译和管理其下载的库。CMake 是一个跨平台的构建系统,可以帮助生成项目的构建文件,因此vcpkg依赖 CMake 来下载、构建和配置依赖库。
2024-10-31 15:42:47
1024
原创 cv2.imdecode()与cv.imread()的使用场景,是否可以相互替换
虽然这两个函数都可以用于读取图像数据,但它们在功能和使用场景上有所不同。一般情况下,如果从文件中读取图像,通常使用。是 OpenCV 库中用于读取图像的两个不同函数,它们在使用场景和功能上有所不同,因此不能完全相互替换。因此,如果图像存储在文件系统中并且不需要在内存中进行其他处理,使用。然而,如果图像数据已经存在于内存中,例如通过网络流或其他来源加载到内存中,此时使用。会更合适,因为它可以直接解码内存中的数据,避免了从文件系统中读取数据的开销。如果需要从内存中的数据解码图像,则使用。
2024-04-01 16:50:41
3155
原创 详细解释python列表的+,append,extend
在 Python 中,列表是一种有序、可变的数据类型,用于存储多个元素。方法用于将一个列表的所有元素添加到另一个列表的末尾。运算符用于连接两个列表,返回一个新列表;方法用于向列表末尾添加一个元素;
2024-04-01 16:27:26
990
原创 acaconda中pip安装opencv-python失败
python3.6版本对应的opencv-python的版本是4.5.3.56。注意opencv-python的版本要与python版本一致,
2024-03-18 09:06:52
784
原创 python中timeit.timeit()详细解释
函数会自动计算并消除一些因素,例如函数调用的开销和系统负载的变化,以提供更准确的执行时间测量。中的一个函数,用于测量代码块的执行时间。它提供了一个简单而方便的方法来评估代码的性能。函数的返回值是执行代码块的总体执行时间,以秒为单位。,其中包含要测量执行时间的代码块。的执行时间,重复执行1,000次,并打印结果。在上述示例中,我们定义了一个函数。下面是一个示例,演示如何使用。是Python标准库。
2024-03-05 08:48:36
1670
1
原创 python透视变换
为了正确计算透视变换矩阵,需要按照逆时针顺序提供这四个点。# 源图像中的四个点坐标和目标图像中对应的真实坐标。# 计算透视变换矩阵。
2024-03-04 09:16:34
659
原创 详细解释time.time()
由于时间戳是一个浮点数,它可以包含小数部分,用于表示更精确的时间。函数用于获取当前时间的时间戳,它返回一个浮点数,表示从 1970 年 1 月 1 日午夜开始经过的秒数。需要注意的是,时间戳的值是相对于特定的时间区域和时钟设置的。因此,在不同的计算机和环境中,可能会有微小的差异。但在大多数情况下,时间戳的精度和相对值是相似的。变量将保存当前时间的时间戳,它是一个浮点数,精确到小数点后的秒数。函数,你可以方便地获取当前时间的时间戳,并在程序中进行时间相关的计算和操作。以下是一个代码示例,展示如何使用。
2024-02-22 10:04:19
2572
原创 @property 修饰器的作用
因为@property写在provide函数前面,所以@property的作用就是将provide函数方法变为属性,也就是调用时无需括号。装饰器可以将一个方法转换为属性,使其在使用时可以像访问属性一样进行调用,而不需要使用括号。总而言之,通常在Python中,实例化一个类需要使用括号,以调用类的构造方法并创建类的实例对象。括号用于调用类的构造方法,创建类的实例对象。当你使用类名后跟括号时,相当于调用了类的构造方法,创建了一个类的实例。在调用时,带括号的成为属性,可直接输出属性值。上述代码与下面代码等同。
2024-02-21 14:25:19
884
原创 Batch Normalization这一步骤究竟做了哪些操作
缩放和平移:对于每个通道,采用可学习的缩放因子(scale factor)和平移因子(shift factor),对标准化后的数据进行缩放和平移操作。标准化:对于每个通道,使用计算得到的均值和方差,将当前批次中每个样本在该通道上的数值进行标准化,使其具有零均值和单位方差。标准化:对于每个样本,在每个特征(通道)上减去均值,并除以方差的平方根。计算均值:对于每个通道(channel),计算当前批次中所有样本在该通道上的均值。计算方差:对于每个通道,计算当前批次中所有样本在该通道上的方差。
2024-02-19 17:53:50
462
原创 在 Python 中,setattr()与getattr() 解释
函数会将指定对象的属性名设置为给定的值。如果属性不存在,则会创建一个新的属性并赋予相应的值。如果属性已经存在,则会修改属性的值为新的值。函数可以方便地在运行时动态地设置对象的属性,这在某些情况下非常有用,特别是当你需要根据条件或用户输入来设置属性时。是一个内置函数,用于动态地设置对象的属性。它接受三个参数:对象、属性名和属性值。属性,并分别赋予了相应的值。最后,我们通过访问对象的属性来验证属性的设置结果。在上面的示例中,我们创建了一个名为。下面是一个示例,演示了如何使用。的类,并实例化了一个。
2024-02-19 17:29:29
778
原创 python中map()函数详细解释
函数会同时从每个可迭代对象中取出一个元素,并将它们作为参数传递给函数进行处理。这样可以方便地对多个可迭代对象进行操作,并将结果组合在一起。是一个Python内置函数,它接受一个函数和一个或多个可迭代对象作为参数,并将该函数应用于可迭代对象的每个元素,返回一个包含结果的迭代器。函数会根据传入的可迭代对象的长度,以最短的可迭代对象为准。如果一个可迭代对象比其他可迭代对象短,那么在。函数对于每个可迭代对象中的元素,将其作为参数传递给。的结果中,超出该可迭代对象长度的部分将被忽略。函数,它们将被并行迭代。
2024-02-18 17:16:47
722
原创 python中list.pop()什么意思
方法可以带一个可选的参数,即要删除的元素的索引。如果未提供索引参数,默认情况下将删除并返回列表中的最后一个元素。方法不仅会从列表中删除元素,还会返回被删除的元素。您可以将其存储在变量中以便后续使用。是一个列表(List)对象的方法,用于从列表中移除并返回指定索引位置的元素。方法两次,从列表中删除元素并打印删除的元素和更新后的列表。方法之前,最好检查列表是否为空或列表长度是否大于索引。在这个示例中,我们首先创建了一个包含整数的列表。如果尝试从空列表中调用。在 Python 中,
2024-02-18 09:42:17
3671
原创 python中range的补充
与之相比,如果你创建一个包含整个范围的列表,这将占用与范围内所有元素相关联的实际内存空间。对于大范围的整数序列,这可能导致内存占用量很大,而且创建和初始化整个列表可能会很慢。对象在内存中更为节省的原因主要是因为它并不实际存储整个范围内的所有元素,而是根据需要生成这些元素。对象的惰性计算使其在处理大范围的整数序列时更为高效和节省内存。对象在内存中占用的空间是固定的,因此对于大范围的整数序列,在处理大范围的整数序列时更为高效,尤其是当范围非常大时。对象是一种特殊的序列类型,用于表示范围内的整数序列。
2024-02-06 11:01:07
550
原创 python中np.argsort(一维数组)用法解释
这表示原始数组中最小的元素是在索引 3 处,其次是索引 1 处,以此类推。是 NumPy 中用于返回数组排序索引的函数。当你传递一个一维数组给。时,它会返回一个按照升序排列原始数组索引的数组。返回的是排序后的索引。,即原始数组的升序排列。
2024-02-06 10:50:24
1097
原创 python中numpy切片方法介绍
的所有行的第一列数据。这个操作返回一个包含所有行的第一列数据的一维数组。这是因为我们取的是第二行(索引 1)的第四列(索引 3)的元素。是一个二维数组,每一行有两列(假设是 (x, y) 坐标)。是 NumPy 中的切片操作,用于获取二维数组。是 NumPy 中的切片操作,用于获取二维数组。),然后取每行的第一列数据,即 x 坐标。返回的是一个包含一个元素的二维数组。
2024-02-06 10:44:07
583
原创 python中numpy生成随机数的方法大全
生成一个形状为 (2, 3) 的正态分布的随机数数组,均值为2,标准差为0.5。# 生成一个在 [1, 5) 范围内形状为 (2, 3) 的均匀分布的随机数数组。# 生成一个在 [1, 10) 范围内形状为 (2, 3) 的随机整数数组。生成指定形状的标准正态分布(均值为0,标准差为1)的随机数。生成指定形状的在[0, 1)之间均匀分布的随机数。# 生成一个形状为 (2, 3) 的随机数组。# 生成一个形状为 (2, 3) 的随机数组。生成指定均值和标准差的正态分布的随机数。
2024-02-06 10:26:04
1657
原创 python中自定义装饰器并使用
在 Python 中,装饰器是一种特殊的语法,用于修改或增强函数或方法的行为。装饰器通常用于在不修改原始函数代码的情况下,为函数添加额外的功能或行为。装饰器可以用于添加额外的功能,如日志记录、性能分析、缓存等,而不需要修改原始函数的实现。装饰器可以将一些通用的功能包装成装饰器,然后可以在多个函数中重复使用,提高代码复用性。前前前前前前前前前前前前前前前前前前前前。print("我定义的函数")print("我定义的函数")print("我定义的函数")print("我定义的函数")
2024-02-04 10:21:09
607
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅