当前位置: 首页 > news >正文

【计算机视觉】图像基本操作

1. 数字图像表示

  • 一幅尺寸为M·N的图像可以用矩阵表示,每个矩阵元素代表一个像素,元素的值代表这个位置图像的亮度;其中,彩色图像使用3维矩阵M·N·3表示;对于图像显示来说,一般使用无符号8位整数来表示图像亮度,取值范围[0,255]

  • 在这里插入图片描述

    图像数据按照自左向右、自上向下的顺序存储在计算机内存中,坐标体系中的零点坐标为图片的左上角,X轴为图像矩形的上面那条水平线;Y轴为图像矩形左边的那条垂直线。

    在OpenCV中,RGB彩色图像的通道顺序为BGR。

2. 图像文件的读写与显示

2.1 图像文件的读取

cv2.imread() 是 OpenCV 中用于从文件中读取图像的函数。它支持多种图像格式(如 JPEG、PNG、BMP 等),并将图像读取为 NumPy 数组。

cv2.imread(filename, flags=cv2.IMREAD_COLOR)
参数说明
  1. filename (str):

    • 图像文件的路径,可以是相对路径或绝对路径。
    • 如果路径无效或者文件不存在,cv2.imread() 会返回 None
  2. flags (int, 可选):

    • 控制图像的读取方式,默认值为 cv2.IMREAD_COLOR

    常见取值包括:

    • cv2.IMREAD_COLOR (1): 以彩色模式加载图像,忽略图像的透明通道。如果图像是灰度图,会将其转换为 BGR(3 通道)。
    • cv2.IMREAD_GRAYSCALE (0): 以灰度模式加载图像,返回单通道(8 位深度)。
    • cv2.IMREAD_UNCHANGED (-1): 读取图像的原始数据,包括透明通道(若存在)。
    • cv2.IMREAD_ANYCOLOR: 读取为彩色图像,但会自动适配图像格式。
    • cv2.IMREAD_ANYDEPTH: 以原始位深(16 位或 32 位浮点)加载图像,而不是默认的 8 位。
返回值
  • 成功时,返回一个 NumPy 数组,表示图像的像素数据。
    • 彩色图像的形状为 (height, width, 3)(BGR 格式)。
    • 灰度图像的形状为 (height, width)
  • 失败时,返回 None,通常是因为文件不存在或路径不正确。

2.2 图像文件的显示

cv2.imshow() 是 OpenCV 中用于显示图像的函数,它会在一个窗口中显示加载或处理后的图像。

cv2.imshow(winname, mat)
参数说明
  1. winname (str):

    • 窗口的名称,可以是任意字符串。
    • 如果指定的窗口名称不存在,会自动创建一个窗口并显示图像。
    • 多次调用时,若窗口名称相同,则会在同一个窗口内更新显示内容。
  2. mat (ndarray):

    • 要显示的图像数据,通常是由 cv2.imread() 或其他 OpenCV 图像处理函数生成的 NumPy 数组。
    • 支持以下几种格式:
      • 彩色图像:形状为 (height, width, 3),默认 BGR 格式。
      • 灰度图像:形状为 (height, width)
      • 深度或透明通道图像在某些情况下可能需要预处理以适配。
特性
  • 图像显示的窗口会保持阻塞,直到用户按键关闭窗口(通常需要配合 cv2.waitKey() 使用)。
  • 窗口默认大小与图像大小一致,但可以通过 cv2.resizeWindow() 调整大小。
其他相关函数
  1. cv2.waitKey(delay)

    • 用于捕获键盘事件。
    • 参数 delay 是等待的时间,单位为毫秒。
      • 如果为 0,程序会无限等待键盘输入。
      • 如果为正整数,则会等待指定时间。
    • 返回值是按键的 ASCII 码(例如 27 对应 ESC 键)。

    示例:

    key = cv2.waitKey(0)
    if key == 27:  # 按 ESC 键关闭cv2.destroyAllWindows()
    
  2. cv2.destroyWindow(winname)cv2.destroyAllWindows()

    • cv2.destroyWindow(winname):关闭特定名称的窗口。
    • cv2.destroyAllWindows():关闭所有 OpenCV 创建的窗口。
  3. cv2.namedWindow(winname, flags)

    • 用于创建窗口并设置属性。
    • 示例:
      cv2.namedWindow('Resizable Window', cv2.WINDOW_NORMAL)
      cv2.imshow('Resizable Window', image)
      cv2.waitKey(0)
      
  4. cv2.resizeWindow(winname, width, height)

    • 调整窗口大小(需配合 cv2.WINDOW_NORMAL 使用)。
    • 示例:
      cv2.namedWindow('Resizable Window', cv2.WINDOW_NORMAL)
      cv2.resizeWindow('Resizable Window', 800, 600)
      cv2.imshow('Resizable Window', image)
      cv2.waitKey(0)
      

2.3 图像文件的写入

cv2.imwrite() 是 OpenCV 中用于将图像保存到文件的函数,可以将处理后的图像数据以指定格式保存到磁盘。

cv2.imwrite(filename, img, params=None)
参数说明
  1. filename (str):

    • 保存图像的完整路径,包括文件名和扩展名。
    • 扩展名决定保存图像的格式(例如 .jpg, .png, .bmp, .tiff 等)。
    • 示例:'output.jpg''/path/to/output.png'
  2. img (ndarray):

    • 要保存的图像数据,通常是一个 NumPy 数组。
    • 格式可以是:
      • 彩色图像:形状为 (height, width, 3),数据类型为 uint8
      • 灰度图像:形状为 (height, width),数据类型为 uint8
  3. params (list, 可选):

    • 图像格式的参数,取决于文件格式。例如,可以指定 JPEG 的压缩质量或 PNG 的压缩级别。
    • 常见参数:
      • 对于 JPEG (.jpg):
        • [cv2.IMWRITE_JPEG_QUALITY, quality]quality 是压缩质量(0-100),默认值为 95,值越高质量越好。
      • 对于 PNG (.png):
        • [cv2.IMWRITE_PNG_COMPRESSION, compression]compression 是压缩级别(0-9),默认值为 3,值越高压缩越强但速度越慢。
      • 对于 WebP (.webp):
        • [cv2.IMWRITE_WEBP_QUALITY, quality]quality 是压缩质量(0-100)。
返回值
  • 返回值为布尔值 (TrueFalse):
    • True: 保存成功。
    • False: 保存失败(如路径无效或无写权限)。

3 视频文件的读写与显示

对于图像文件,可以从其扩展名得知图像的格式,但是并不适用于视频文件,因为视频文件的格式主要由压缩算法决定;压缩算法称为编码器,解压算法成为解码器,编解码算法称为编解码器。
编解码器种类很多,主要由MJPG、XVID、DIVX等等。

3.1 视频读取

cv2.VideoCapture() 是 OpenCV 用于视频捕获和处理的函数,可以从视频文件、摄像头或视频流中获取帧数据。

cv2.VideoCapture(index, apiPreference=None)
参数说明
  1. index:

    • 如果要从摄像头捕获,index 是摄像头设备的编号。
      • 通常,0 代表默认摄像头,1 代表外接摄像头(如果有)。
    • 如果要从文件读取,index 是视频文件的路径(如 'video.mp4')。
  2. apiPreference (可选):

    • 指定视频捕获后端(API)的优先级,默认为 cv2.CAP_ANY,OpenCV 会自动选择适当的后端。
    • 常见的后端值:
      • cv2.CAP_ANY:自动选择(默认)。
      • cv2.CAP_V4L2:用于 Linux 的 V4L2 接口。
      • cv2.CAP_DSHOW:DirectShow(Windows)。
      • cv2.CAP_MSMF:Windows Media Foundation。
      • cv2.CAP_FFMPEG:FFmpeg(跨平台,支持大部分格式)。
返回值
  • 返回一个 cv2.VideoCapture 对象,通过该对象可以捕获视频帧。

3.2 视频写入

cv2.VideoWriter() 是 OpenCV 用于将视频帧保存为视频文件的函数。通过这个函数,您可以将处理后的图像帧编码为视频并存储到磁盘。

cv2.VideoWriter(filename, fourcc, fps, frameSize, isColor=True)
参数说明
  1. filename (str):

    • 视频输出文件的路径,包括文件名和扩展名。
    • 扩展名决定了视频的编码格式(如 .avi, .mp4, .mkv 等)。
  2. fourcc (int):

    • 表示视频编码器的 4 字符代码 (FourCC)。
    • 使用 cv2.VideoWriter_fourcc() 函数生成,例如:
      • cv2.VideoWriter_fourcc(*'XVID'):XVID 编解码器(常用于 .avi 格式)。
      • cv2.VideoWriter_fourcc(*'MP4V'):MP4 编解码器(常用于 .mp4 格式)。
      • cv2.VideoWriter_fourcc(*'H264'):H.264 编解码器(适用于高效压缩)。
    • 不同系统和平台可能支持的编码器不同。
  3. fps (float):

    • 视频的帧率,即每秒的帧数。
    • 例如,30.0 表示 30 帧/秒。
  4. frameSize (tuple):

    • 视频帧的宽度和高度,格式为 (width, height)
    • 所有传入帧的大小必须与此一致,否则会抛出错误。
  5. isColor (bool):

    • 指定视频是否为彩色。
    • 默认为 True(彩色),如果为 False,表示灰度视频。
返回值
  • 返回一个 cv2.VideoWriter 对象,用于写入视频。

相关文章:

【计算机视觉】图像基本操作

1. 数字图像表示 一幅尺寸为MN的图像可以用矩阵表示,每个矩阵元素代表一个像素,元素的值代表这个位置图像的亮度;其中,彩色图像使用3维矩阵MN3表示;对于图像显示来说,一般使用无符号8位整数来表示图像亮度&…...

修改插槽样式,el-input 插槽 append 的样式

需缩少插槽 append 的 宽度 方法1、使用内联样式直接修改&#xff0c;指定 width 为 30px <el-input v-model"props.applyBasicInfo.outerApplyId" :disabled"props.operateCommandType input-modify"><template #append><el-button click…...

高级java每日一道面试题-2024年11月28日-JVM篇-调优命令有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: 调优命令有哪些? 我回答: 在Java高级面试中&#xff0c;调优命令是面试官常问的问题之一。以下是对Java调优命令的详细介绍&#xff1a; 一、主要调优命令 1. jps&#xff08;JVM Process Status Tool&#xff09; 功能&#x…...

Dubbo 最基础的 RPC 应用(使用 ZooKeeper)

看国内的一些项目时 Dubbo 这个词经常闪现&#xff0c;一直也不以为然&#xff0c;未作搜索&#xff0c;当然也不知道它是做什么用的。直到最近阅读关于大型网站架构相关的书中反复提到 Dubbo 后&#xff0c;觉得不能再对它视而不见。Google 了一下&#xff0c;它是在阿里巴巴创…...

(0基础保姆教程)-JavaEE开课啦!--11课程(初识Spring MVC + Vue2.0 + Mybatis)-实验9

一、什么是Spring MVC&#xff1f; Spring MVC 是一个基于 Java 的 Web 框架&#xff0c;遵循 MVC 设计模式&#xff0c;用于构建企业级应用程序。它通过控制器(Controller)处理用户请求&#xff0c;模型(Model)处理业务逻辑&#xff0c;视图(View)展示数据&#xff0c;实现了请…...

九、Spring Boot集成Spring Security之授权概述

文章目录 往期回顾&#xff1a;Spring Boot集成Spring Security专栏及各章节快捷入口前言一、授权概述二、用户权限三、用户授权流程三、Spring Security授权方式1、请求级别授权2、方法级别授权 往期回顾&#xff1a;Spring Boot集成Spring Security专栏及各章节快捷入口 Spr…...

QT:多ui界面显示

文章目录 1.多ui界面添加2.跳转函数3.返回函数4.Qt5源码工程5.模态显示 1.多ui界面添加 最终生成这个目录 2.跳转函数 void MainWindow::on_pushButton_clicked() {//this->setWindowModality(Qt::WindowModal);test1 *t1 new test1();t1->setParentData(this);this-…...

人工智能在医疗领域应用的案例参考

以下是一些人工智能在医疗领域应用的具体案例&#xff1a; 疾病诊断辅助 谷歌旗下DeepMind与伦敦大学学院医院合作 案例详情&#xff1a;利用人工智能系统对眼部疾病进行诊断&#xff0c;分析眼部扫描图像&#xff0c;快速准确地检测出眼部疾病的早期迹象&#xff0c;如青光眼…...

vue3 与 spring-boot 完成跨域访问

spring-boot&#xff0c;写一个接口用于前端访问&#xff0c;并且给接口设置跨域访问&#xff0c;这里我前端的域名为 localhost:5173 RestController CrossOrigin(origins "http://localhost:5173") public class Vue3Controller {GetMapping("/vue")pu…...

CSS clamp() 函数:构建更智能的响应式设计

在响应式设计中&#xff0c;我们经常需要处理元素大小的动态变化。CSS clamp() 函数提供了一个优雅的解决方案&#xff0c;让我们的设计更加灵活和智能。 clamp() 函数是什么&#xff1f; clamp() 函数接受三个参数&#xff1a; clamp(最小值, 首选值, 最大值)这三个参数分别…...

【C++笔记】数据结构进阶之二叉搜索树(BSTree)

【C笔记】数据结构进阶之二叉搜索树(BSTree) &#x1f525;个人主页&#xff1a;大白的编程日记 &#x1f525;专栏&#xff1a;C笔记 文章目录 【C笔记】数据结构进阶之二叉搜索树(BSTree)前言一.二叉搜索树的概念二.二叉搜索树的性能分析三.二叉搜索树的实现3.1二叉树的中序…...

c++设计模式模块与系统

c 中lambda 本质就是一个匿名(没有名)的函数&#xff1b; 可以用一个数组元素存储一个函数的指针&#xff1b; 通过数组下标来使用函数&#xff1b; 高内聚低耦合 如何理解设计模式中的高内聚低耦合 高内聚: 用于指导如何组织和划分软件设计。 **定义&#xff1a;**高内聚指的…...

【81-90期】Java核心面试问题深度解析:性能优化与高并发设计

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Java &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 文章题目&#xff1a;Java核心面试问题深度解析&#xff1a;性能优化与高并发设计 摘要&#xff1a; 本文聚…...

python实现TCP服务端,支持对所有客户端的数据收发,支持终端自定义命令操作,提供clear命令一键断开所有的客户端连接

前言 python实现TCP服务端&#xff0c;支持对所有客户端的数据收发&#xff0c;支持终端自定义命令操作&#xff0c;提供clear命令一键断开所有的客户端连接 简单易懂&#xff0c;直接上码 源码 import socket import threadingclass TCPServer:# 修改此处ip 端口def __ini…...

【R安装】R语言的详细安装及环境配置(2024年11月)

目录 R及Rstudio下载R下载Rstudio下载 R及Rstudio安装R安装Rtools 安装Rstudio安装 运行 RStudio通过RStudio配置使用特定的R版本 参考 R及Rstudio下载 R下载 R官网-The R Project for Statistical Computing 点击【download R】&#xff0c;进入下载界面&#xff1a; 选择…...

Android 12.0 通知--PendingIntent基本代码

一. PendingIntent 在 Android 通知中的使用场景 使用场景: Android 通知的 setContentIntent() 需要传入 PendingIntent , 即当点击通知时,执行 intent 的动作.如下例子: //1.创建Intent对象Intent intent new Intent(this, MainActivity1.class); //2.获取能启动 Activity 的…...

网络安全在数字时代保护库存数据中的作用

如今&#xff0c;通过软件管理库存已成为一种标准做法。企业使用数字工具来跟踪库存水平、管理供应链和规划财务。 然而&#xff0c;技术的便利性也带来了网络威胁的风险。黑客将库存数据视为有价值的目标。保护这些数据不仅重要&#xff0c;而且必不可少。 了解网络安全及其…...

文本搜索程序(Qt)

头文件 #ifndef TEXTFINDER_H #define TEXTFINDER_H#include <QWidget> #include <QFileDialog> #include <QFile> #include <QTextEdit> #include <QLineEdit> #include <QTextStream> #include <QPushButton> #include <QMess…...

云原生革命:构建未来应用的无限可能

在这个数字化飞速发展的时代&#xff0c;云原生技术如同一股不可阻挡的潮流&#xff0c;正深刻改变着软件开发和部署的方式。它不仅仅是一种技术变革&#xff0c;更是一场关于如何更高效、更灵活地构建和运行应用的革命。今天&#xff0c;我们就来深入探讨云原生的魅力所在&…...

【Ubuntu 24.04】How to Install and Use NVM

参考 下载 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash激活 Activate NVM: Once the installation script completes, you need to either close and reopen the terminal or run the following command to use nvm immediately. exp…...

android12锁屏界面pin码或者图案解锁居中显示

设置pin码或者图案锁屏后&#xff0c;在锁屏界面向上划左边&#xff0c;图案解锁就在左边&#xff0c; 向上划右边图案就在右边&#xff0c;如何设置一直居中显示呢&#xff1f; diff --git a/packages/SystemUI/res/layout/super_notification_shade.xml b/packages/SystemUI…...

【VUE3】新版Vue3+ElementPlus全家桶开发视频项目实战

VUE 介绍 Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。 Vue.js是一个MVVM(Model - View - ViewModel)的SPA框架。 Model:数…...

【UE5 C++课程系列笔记】05——组件和碰撞

效果 可以看到我们可以实现的功能是 &#xff08;1&#xff09;可以通过鼠标旋转视角 &#xff08;2&#xff09;通过使用Pawn移动组件来控制Pawn移动 &#xff08;3&#xff09;Pawn碰到物体会被阻挡然后逐渐滑动 &#xff08;4&#xff09;通过空格切换激活/关闭粒子效果…...

【docker 拉取镜像超时问题】

问题描述 在centosStream8上安装docker&#xff0c;使用命令sudo docker run hello-world 后出现以下错误&#xff1a; Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Ti…...

51-基于单片机的智能语音识别与处理系统设计

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;搞L298N驱动两个电机转动&#xff0c;然后搞LCD1602显示屏&#xff0c;弄个超声波传感器实时检测距离 通过LCD1602显示距离&#xff0c;如果距离小于阈值&#xff0c;则两…...

民安:助力提升城市安全水平

随着城市化进程的加速&#xff0c;平安城市的创建成为了社会治理的重要议题。为了解公众对平安城市创建的看法和评价&#xff0c;为提升城市安全水平提供参考&#xff0c;近期某市委托民安智库专业市场调查公司开展了一次安全感满意度调查。 本次调查围绕公共安全、个人安全、…...

类和对象--中--运算符重载、日期类实现(重要)

目录 1.运算符重载 2.日期类 1.运算符重载 2.1作用&#xff1a; 为了让C的新类型&#xff1a;类。也可以进行内置类型的运算符操作。所以就有了运算符重载。 2.2定义&#xff1a; 运算符重载是具有特殊名字的函数&#xff0c;他的名字是由operator和后⾯要定义的运算符共…...

个人回顾。

一鸡摸塔塔开! 2024/11/24 18:20:42 2019.6毕业。入职hg。到2020.6。入职一年。居住侨源山庄极小房间。月租一千。 一鸡摸塔塔开! 2024/11/24 18:21:15 期间也有保持学习。也玩游戏看小说。把大学缺失的补回来。 一鸡摸塔塔开! 2024/11/24 18:30:33 博客园随笔 学习笔记 100…...

前端面试题-1(详解事件循环)

1.了解浏览器的进程模型 1.什么是进程&#xff1f; 程序运行需要有它自己专属的内存空间&#xff0c;可以把这块内存空间简单的理解为进程 每个应用至少有一个进程&#xff0c;进程之间相互独立&#xff0c;即使要通信&#xff0c;也需要双方同意。 2.什么是线程&#xff1f…...

http的文件上传和下载原理

目录 一&#xff1a;上传 1&#xff1a;http请求格式 2&#xff1a;文件上传类型分析 1&#xff1a;md5秒传 2&#xff1a;分片上传 1. 什么是分片上传 2. 分片上传的场景 3&#xff1a;断点续传 1. 什么是断点续传 2. 应用场景 3. 实现断点续传的核心逻辑 4. 实现流…...

leetcode 212. 单词搜索 II

给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二维网格上的单词 。 单词必须按照字母顺序&#xff0c;通过 相邻的单元格 内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一…...

1、数据结构概述及顺序表(附:可以直接打印显示的源码)

《数据结构》概述&#xff1a; 数据结构&#xff1a;数据元素之间的关系&#xff08;逻辑关系&#xff09; 数据类型&#xff1a;高地电平 表示 1/0 要做大量的运算&#xff1a;诞生了基本数据类型&#xff1a;int double .....--》反应了数据的取值范围 &#xff08;int字…...

Redis

概述 Redis&#xff08;全称 REmote DIctionary Server&#xff09;是一个开源的内存数据存储系统&#xff0c;它被广泛应用于缓存、消息队列、实时数据存储等场景。Redis 是一个基于内存的数据结构存储&#xff0c;可以作为数据库、缓存和消息中间件使用 优点 高性能&#xf…...

Android 13 编译Android Studio版本的Launcher3

Android 13 Aosp源码 源码版本Android Studio版本Launcher3QuickStepLib (主要代码) Launcher3ResLib(主要资源)Launcher3IconLoaderLib(图...

【高等数学学习记录】微分中值定理

一、知识点 &#xff08;一&#xff09;罗尔定理 费马引理 设函数 f ( x ) f(x) f(x) 在点 x 0 x_0 x0​ 的某邻域 U ( x 0 ) U(x_0) U(x0​) 内有定义&#xff0c;并且在 x 0 x_0 x0​ 处可导&#xff0c;如果对任意的 x ∈ U ( x 0 ) x\in U(x_0) x∈U(x0​) &#xff0…...

百度 文心一言 vs 阿里 通义千问 哪个好?

背景介绍&#xff1a; 在当前的人工智能领域&#xff0c;随着大模型技术的快速发展&#xff0c;市场上涌现出了众多的大规模语言模型。然而&#xff0c;由于缺乏统一且权威的评估标准&#xff0c;很多关于这些模型能力的文章往往基于主观测试或自行设定的排行榜来评价模型性能…...

wordpress使用Markdown语法写的文章图片显示不正常,记录一次折腾之旅

wordpress使用Markdown语法写的文章图片显示不正常,记录一次折腾之旅 当我把wordpress站点地址改成域名之后,wordpress上写的文章是使用Markdown语法进行写作的,但是Markdown引用的图片就会加载不出来,但如果把站点地址改成局域网的IP,所有的一切都显示正常了。除非我把图…...

MTK 展锐 高通 sensorhub架构

一、MTK平台 MTK框架可以分为两部分&#xff0c;AP和SCP。 AP是主芯片&#xff0c;SCP是协处理器&#xff0c;他们一起工作来处理sensor数据。 SCP 是用来处理sensor和audio相关功能和其他客制化需求的一个协处理理器&#xff0c;MTK SCP选择freeRTOS作为操作系统&#xff0c…...

npm 最新国内淘宝镜像地址源 (旧版已不能用)

注意&#xff1a;原域名https://registry.npm.taobao.org/ 在 2022.06.30 号正式下线和停止 DNS 解析 最新地址&#xff1a; #最新地址 淘宝 NPM 镜像站喊你切换新域名啦! npm config set registry https://registry.npmmirror.com 查看镜像使用状态 npm config get registr…...

(超详细图文详情)Navicat 配置连接 Oracle

1、下载依赖文件 Oracle官网下载直链&#xff1a;https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html 夸克网盘下载&#xff08;oracle19c版本&#xff09;&#xff1a;https://pan.quark.cn/s/5061e690debc 官网下载选择对应 Oracle 版…...

iOS 系统中使用 webView 打印 html 的打印边距问题

需求是使用系统提供的打印功能将HTML代码打印出来 1、使用CSS page 设置边距&#xff08;iOS不生效&#xff09; page {margin: 0;padding: 0;size: A6 portrait; }在 Android 中边距设置生效的&#xff0c;但是在 iOS 系统使用CSS page规则是不生效的 当从 iOS 系统打印网页…...

深度学习Pytorch中的模型保存与加载方法

深度学习:Pytorch中的模型保存与加载方法 在 PyTorch 中&#xff0c;模型的保存和加载对于模型的持久化和后续应用至关重要。这里详细介绍了两种主要方法&#xff1a;保存整个模型&#xff08;包括架构和参数&#xff09;和仅保存模型的状态字典。以下内容进一步完善了加载模型…...

(vue)启动项目报错The project seems to require pnpm but it‘s not installed

(vue)启动项目报错The project seems to require pnpm but it’s not installed 原因 该错误信息表明你的项目需要使用 pnpm 作为包管理工具&#xff0c;但系统中尚未安装 pnpm。 解决方法 【1】删除pnpm.lock 【2】npm install -g pnpm 之后再重新启动 yarn报错&#xff0…...

【Leetcode 每日一题】3250. 单调数组对的数目 I

问题背景 给你一个长度为 n n n 的 正 整数数组 n u m s nums nums。 如果两个 非负 整数数组 ( a r r 1 , a r r 2 ) (arr_1, arr_2) (arr1​,arr2​) 满足以下条件&#xff0c;我们称它们是 单调 数组对&#xff1a; 两个数组的长度都是 n n n。 a r r 1 arr_1 arr1​ 是…...

C++语法·叭

阁下何不乘风起&#xff0c;扶摇直上九万里。 qi fei 目录 内存管理 分区介绍 1.栈区&#xff1a; 2.内存映射段&#xff1a; 3.堆&#xff1a; 4.数据段&#xff1a; 5.代码段&#xff1a; 补充&#xff1a; C内存管理&#xff08;简略回忆&#xff09; C内存…...

ComfyUI | ComfyUI桌面版发布,支持winmac多平台体验,汉化共享等技巧!(内附安装包)

ComfyUI 桌面版正式推出&#xff0c;支持 Windows 与 macOS 等多平台&#xff0c;为 AI 绘画爱好者带来全新体验。其安装包便捷易用&#xff0c;开启了轻松上手之旅。汉化共享功能更是一大亮点&#xff0c;打破语言障碍&#xff0c;促进知识交流与传播。在操作上&#xff0c;它…...

探索Python词云库WordCloud的奥秘

文章目录 探索Python词云库WordCloud的奥秘1. 背景介绍&#xff1a;为何选择WordCloud&#xff1f;2. WordCloud库简介3. 安装WordCloud库4. 简单函数使用方法5. 应用场景示例6. 常见Bug及解决方案7. 总结 探索Python词云库WordCloud的奥秘 1. 背景介绍&#xff1a;为何选择Wo…...

用PHP抓取HTTPS资源时的常见问题与解决方法

概述 随着互联网的发展&#xff0c;HTTPS已经成为主流协议&#xff0c;网站的数据安全性得到了显著提升。然而&#xff0c;对于开发者来说&#xff0c;HTTPS的广泛应用也增加了数据抓取的复杂性。尤其是在PHP中实现HTTPS资源的抓取时&#xff0c;开发者可能会遇到以下问题&…...

spring知识点复习--针对面试的

前言 此内容是笔者通过B站的视频总结而来。原视频链接地址&#xff1a;6、Bean Factory与FactoryBean有什么区别_哔哩哔哩_bilibili 1.谈谈springIOC的理解&#xff0c;原理与实现 回答涉及到的点&#xff1a; 控制反转&#xff1a;是一种理论思想&#xff0c;原来的对象是由…...

Web前端学习_CSS盒子模型

content padding border margin <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>CSS盒子模型</title><style></style> </head> <body> <div class"demo&quo…...