三、Mat、Bitmap和Image数据类型之间的转换(OpenCvSharp)

news2025/9/19 20:26:11

OpenCV中可以通过ImRead方法读取照片,通过ImShow方法显示照片;但是无法在PictureBox控件中显示
PictureBox控件只能展示BitmapImage数据类型图片

为此查阅了网上很多篇博文,将三种数据类型之间的转换进行了归纳整理,感谢网上大佬们的博文分享,参考的内容过多就不再一一感谢了哈。

本篇博文以展示图片的效果进行演示,Mat数据类型通过OpenCV展示Bitmap数据类型和Image数据类型通过pictureBox控件进行展示

零、前期准备工作

1,页面布局

注意button的序号哈
在这里插入图片描述

2,命名空间

引入OpenCvSharp命名空间

using OpenCvSharp;
using OpenCvSharp.Extensions;

在这里插入图片描述
在这里插入图片描述
这仨必须有哈,没有的话就从旁边的浏览里面搜索下载

3,照片准备

为了更好的演示效果,每个功能对应的照片都进行了设计,一共九张
例如:
Bitmap.png,表示将来读入的是Bitmap数据类型,将来展示的也是Bitmap数据类型形式在控件中显示
Mat2Image.png,表示将来读入的是Mat数据类型,转换为Image数据类型之后在控件中显示
Bitmap2Mat.png,表示将来读入的是Bitmap数据类型,转换为Mat数据类型之后通过ImShow方法进行显示
Mat.png,表示通过ImRead方法读入Mat数据类型图片,之后通过ImShow方法进行显示
以此类推哈

在这里插入图片描述

3,图片路径对应说明

string SelfMat = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Mat.png";
string Mat2Bitmap = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Mat2Bitmap.png";
string Mat2Image = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Mat2Image.png";

string SelfBitmap = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Bitmap.png";
string Bitmap2Mat = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Bitmap2Mat.png";
string Bitmap2Image = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Bitmap2Image.png";

string SelfImage = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Image.png";
string Image2Mat = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Image2Mat.png";
string Image2Bitmap = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Image2Bitmap.png";

SelfMat 这样的代表将来读入的是Mat数据类型
Bitmap2Mat 这样的代表将来读入的是Bitmap数据类型,转换为Mat数据类型之后通过ImShow方法进行显示
Mat2Image这样的代表将来通过ImRead方法读入Mat数据类型,转换为Image数据类型之后显示到控件中
以此类推

一、Mat数据类型

通过OpenCV的ImRead方法读取的都是Mat数据类型
通过ImShow方法进行显示照片即可

Mat mat = new Mat();new一个Mat对象,起名为mat
mat = Cv2.ImRead(SelfMat,ImreadModes.Color);读取SelfMat图片,显示三通道彩色图片ImreadModes.Color,此时mat为Mat数据类型的图片
Cv2.NamedWindow("Mat", WindowFlags.Normal);命名一个窗口,窗口左上角显示为Mat,窗口可调节大小WindowFlags.Normal
Cv2.ImShow("Mat", mat);显示Mat窗口,显示的内容为Mat数据类型对象mat
Cv2.WaitKey(0);等待用户响应
Cv2.DestroyWindow("Mat");摧毁Mat窗口

private void button1_Click(object sender, EventArgs e)
{
    Mat mat = new Mat();
    mat = Cv2.ImRead(SelfMat,ImreadModes.Color);
    Cv2.NamedWindow("Mat", WindowFlags.Normal);
    Cv2.ImShow("Mat", mat);
    Cv2.WaitKey(0);
    Cv2.DestroyWindow("Mat");
}

二、Bitmap数据类型

Bitmap数据类型和Image可以直接在控件中进行展示,将图片赋值给控件的Image属性即可

Bitmap bitmap = new Bitmap(SelfBitmap);以Bitmap数据类型读取SelfBitmap照片,此时bitmap为Bitmap数据类型的图片
pictureBox1.Image = bitmap;赋值给pictureBox1控件的Image属性,将Bitmap数据类型图片bitmap显示到控件中

private void button2_Click(object sender, EventArgs e)
{
    Bitmap bitmap = new Bitmap(SelfBitmap);
    pictureBox1.Image = bitmap;
}

三、Image数据类型

这里需要通过FromFile方法读入图片

Image image = Image.FromFile(SelfImage);以Image数据类型读取SelfImage照片,此时image为Image数据类型的图片
pictureBox1.Image = image;赋值给pictureBox1控件的Image属性,将Image数据类型图片image显示到控件中

private void button3_Click(object sender, EventArgs e)
{
    Image image = Image.FromFile(SelfImage);
    pictureBox1.Image = image;
}

四、Mat数据类型转Bitmap数据类型

Mat数据类型可通过ToBitmap方法转换为Bitmap数据类型

Mat mat_mat2bitmap = new Mat();创建Mat数据类型对象mat_mat2bitmap
mat_mat2bitmap = Cv2.ImRead(Mat2Bitmap, ImreadModes.Color);读取Mat2Bitmap图片,显示三通道彩色图片ImreadModes.Color,此时mat_mat2bitmap为Mat数据类型的图片
Bitmap bitmap_mat2bitmap = mat_mat2bitmap.ToBitmap();通过ToBitmap方法,将Mat数据类型对象mat_mat2bitmap转换为Bitmap数据类型对象bitmap_mat2bitmap
pictureBox1.Image = bitmap_mat2bitmap;赋值给pictureBox1控件的Image属性,将Bitmap数据类型图片bitmap_mat2bitmap显示到控件中

 private void button4_Click(object sender, EventArgs e)
 {
     Mat mat_mat2bitmap = new Mat();
     mat_mat2bitmap = Cv2.ImRead(Mat2Bitmap, ImreadModes.Color);
     Bitmap bitmap_mat2bitmap = mat_mat2bitmap.ToBitmap();
     pictureBox1.Image = bitmap_mat2bitmap;
 }

五、Mat数据类型转Image数据类型

Mat数据类型转Image数据类型我没找到直接转换的方法
使用的方法是:Mat转Bitmap再转Image

Mat mat_mat2image = new Mat();new一个Mat对象,起名为mat_mat2image
mat_mat2image = Cv2.ImRead(Mat2Image, ImreadModes.Color);读取Mat2Image图片,显示三通道彩色图片ImreadModes.Color,此时mat_mat2image为Mat数据类型的图片
Bitmap bitmap_mat2image = mat_mat2image.ToBitmap();通过ToBitmap方法,将Mat数据类型对象mat_mat2image转换为Bitmap数据类型对象bitmap_mat2image
Image image_mat2image = (Image)bitmap_mat2image;直接强转,将Bitmap数据类型对象bitmap_mat2image转换为Image数据类型对象image_mat2image
pictureBox1.Image = image_mat2image;赋值给pictureBox1控件的Image属性,将Image数据类型图片image_mat2image显示到控件中

private void button5_Click(object sender, EventArgs e)
{
    Mat mat_mat2image = new Mat();
    mat_mat2image = Cv2.ImRead(Mat2Image, ImreadModes.Color);
    Bitmap bitmap_mat2image = mat_mat2image.ToBitmap();
    Image image_mat2image = (Image)bitmap_mat2image;
    pictureBox1.Image = image_mat2image;
}

六、Bitmap数据类型转Mat数据类型

Bitmap数据类型可通过ToMat方法转换为Mat数据类型

Bitmap bitmap_bitmap2mat = new Bitmap(Bitmap2Mat);以Bitmap数据类型读取Bitmap2Mat照片
Mat mat_bitmap2map = new Mat();new一个Mat对象,起名为mat_bitmap2map,此时mat_bitmap2map为Mat数据类型的图片
mat_bitmap2map = bitmap_bitmap2mat.ToMat();通过ToMat方法,将Bitmap数据类型对象bitmap_bitmap2mat转换为Mat数据类型对象mat_bitmap2map
Cv2.NamedWindow("Bitmap2Mat", WindowFlags.Normal);命名一个窗口,窗口左上角显示为Bitmap2Mat,窗口可调节大小WindowFlags.Normal
Cv2.ImShow("Bitmap2Mat", mat_bitmap2map);显示Bitmap2Mat窗口,显示的内容为Mat数据类型对象mat_bitmap2map
Cv2.WaitKey(0);等待用户响应
Cv2.DestroyWindow("Bitmap2Mat");摧毁Bitmap2Mat窗口

private void button6_Click(object sender, EventArgs e)
{
    Bitmap bitmap_bitmap2mat = new Bitmap(Bitmap2Mat);
    Mat mat_bitmap2map = new Mat();
    mat_bitmap2map = bitmap_bitmap2mat.ToMat();
    Cv2.NamedWindow("Bitmap2Mat", WindowFlags.Normal);
    Cv2.ImShow("Bitmap2Mat", mat_bitmap2map);
    Cv2.WaitKey(0);
    Cv2.DestroyWindow("Bitmap2Mat");
}

七、Bitmap数据类型转Image数据类型

Bitmap数据类型和Image数据类型可以直接强转,并且都可以在pictureBox控件中显示

Bitmap bitmap_bitmap2image = new Bitmap(Bitmap2Image);以Bitmap数据类型读取Bitmap2Image照片,此时bitmap_bitmap2image为Bitmap数据类型的图片
Image image_bitmap2image = (Image)bitmap_bitmap2image;直接强转,将Bitmap数据类型对象bitmap_bitmap2image转换为Image数据类型对象image_bitmap2image
pictureBox1.Image = image_bitmap2image;赋值给pictureBox1控件的Image属性,将Image数据类型图片image_bitmap2image显示到控件中

private void button7_Click(object sender, EventArgs e)
{
    Bitmap bitmap_bitmap2image = new Bitmap(Bitmap2Image);
    Image image_bitmap2image = (Image)bitmap_bitmap2image;
    pictureBox1.Image = image_bitmap2image;
}

八、Image数据类型转Mat数据类型

Mat数据类型转Image数据类型我也没找到直接转换的方法
使用的方法是:Image转Bitmap再转Mat
Image image_image2mat = Image.FromFile(Image2Mat);通过FromFile方法以Image数据类型读取Image2Mat照片,此时image_image2mat为Image数据类型的图片
Bitmap bitmap_image2mat = (Bitmap)image_image2mat;直接强转,将Image数据类型对象image_image2mat转换为Bitmap数据类型对象bitmap_image2mat
Mat mat_image2mat = new Mat();new一个Mat对象,起名为mat_image2mat
mat_image2mat = bitmap_image2mat.ToMat();通过ToMat方法,将Bitmap数据类型对象bitmap_image2mat转换为Mat数据类型对象mat_image2mat
Cv2.NamedWindow("Image2Mat", WindowFlags.Normal);命名一个窗口,窗口左上角显示为Image2Mat,窗口可调节大小WindowFlags.Normal
Cv2.ImShow("Image2Mat", mat_image2mat);显示Image2Mat窗口,显示的内容为Mat数据类型对象mat_image2mat
Cv2.WaitKey(0);等待用户响应
Cv2.DestroyWindow("Image2Mat");摧毁Image2Mat窗口

private void button8_Click(object sender, EventArgs e)
{
    Image image_image2mat = Image.FromFile(Image2Mat);
    Bitmap bitmap_image2mat = (Bitmap)image_image2mat;
    Mat mat_image2mat = new Mat();
    mat_image2mat = bitmap_image2mat.ToMat();
    Cv2.NamedWindow("Image2Mat", WindowFlags.Normal);
    Cv2.ImShow("Image2Mat", mat_image2mat);
    Cv2.WaitKey(0);
    Cv2.DestroyWindow("Image2Mat");
}

九、Image数据类型转Bitmap数据类型

Image数据类型和Bitmap数据类型可以直接强转,并且都可以在pictureBox控件中显示

Image image_image2bitmap = Image.FromFile(Image2Bitmap);通过FromFile方法以Image数据类型读取Image2Bitmap照片,此时image_image2bitmap为Image数据类型的图片
Bitmap bitmap_image2bitmap = (Bitmap)image_image2bitmap;直接强转,将Image数据类型对象image_image2bitmap转换为Bitmap数据类型对象bitmap_image2bitmap
pictureBox1.Image = bitmap_image2bitmap;赋值给pictureBox1控件的Image属性,将Bitmap数据类型图片bitmap_image2bitmap显示到控件中

private void button9_Click(object sender, EventArgs e)
{
    Image image_image2bitmap = Image.FromFile(Image2Bitmap);
    Bitmap bitmap_image2bitmap = (Bitmap)image_image2bitmap;
    pictureBox1.Image = bitmap_image2bitmap;
}

十、完整项目代码

项目名称:Mat_Bitmap_Image

using System;
using System.Drawing;
using System.Windows.Forms;

using OpenCvSharp;
using OpenCvSharp.Extensions;


namespace Mat_Bitmap_Image
{
    public partial class Form1 : Form
    {
        string SelfMat = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Mat.png";
        string Mat2Bitmap = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Mat2Bitmap.png";
        string Mat2Image = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Mat2Image.png";
        
        string SelfBitmap = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Bitmap.png";
        string Bitmap2Mat = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Bitmap2Mat.png";
        string Bitmap2Image = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Bitmap2Image.png";

        string SelfImage = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Image.png";
        string Image2Mat = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Image2Mat.png";
        string Image2Bitmap = "E:\\CSharp_workspace\\Mat_Bitmap_Image\\picture\\Image2Bitmap.png";
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        /// <summary>
        /// Mat数据类型图像显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            Mat mat = new Mat();
            mat = Cv2.ImRead(SelfMat,ImreadModes.Color);
            Cv2.NamedWindow("Mat", WindowFlags.Normal);
            Cv2.ImShow("Mat", mat);
            Cv2.WaitKey(0);
            Cv2.DestroyWindow("Mat");
        }

        /// <summary>
        /// Bitmap数据类型图像显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            Bitmap bitmap = new Bitmap(SelfBitmap);
            pictureBox1.Image = bitmap;
        }

        /// <summary>
        /// Image数据类型图像显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            Image image = Image.FromFile(SelfImage);
            pictureBox1.Image = image;
        }

        /// <summary>
        /// Mat数据类型转换为Bitmap数据类型显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click(object sender, EventArgs e)
        {
            Mat mat_mat2bitmap = new Mat();
            mat_mat2bitmap = Cv2.ImRead(Mat2Bitmap, ImreadModes.Color);
            Bitmap bitmap_mat2bitmap = mat_mat2bitmap.ToBitmap();
            pictureBox1.Image = bitmap_mat2bitmap;
        }

        /// <summary>
        /// Mat数据类型转换为Image数据类型显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button5_Click(object sender, EventArgs e)
        {
            Mat mat_mat2image = new Mat();
            mat_mat2image = Cv2.ImRead(Mat2Image, ImreadModes.Color);
            Bitmap bitmap_mat2image = mat_mat2image.ToBitmap();
            Image image_mat2image = (Image)bitmap_mat2image;
            pictureBox1.Image = image_mat2image;
        }

        /// <summary>
        /// Bitmap数据类型转化为Mat数据类型显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button6_Click(object sender, EventArgs e)
        {
            Bitmap bitmap_bitmap2mat = new Bitmap(Bitmap2Mat);
            Mat mat_bitmap2map = new Mat();
            mat_bitmap2map = bitmap_bitmap2mat.ToMat();
            Cv2.NamedWindow("Bitmap2Mat", WindowFlags.Normal);
            Cv2.ImShow("Bitmap2Mat", mat_bitmap2map);
            Cv2.WaitKey(0);
            Cv2.DestroyWindow("Bitmap2Mat");
        }

        /// <summary>
        /// Bitmap数据类型转换为Image数据类型显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button7_Click(object sender, EventArgs e)
        {
            Bitmap bitmap_bitmap2image = new Bitmap(Bitmap2Image);
            Image image_bitmap2image = (Image)bitmap_bitmap2image;
            pictureBox1.Image = image_bitmap2image;
        }

        /// <summary>
        /// Image数据类型转换为Mat数据类型显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button8_Click(object sender, EventArgs e)
        {
            Image image_image2mat = Image.FromFile(Image2Mat);
            Bitmap bitmap_image2mat = (Bitmap)image_image2mat;
            Mat mat_image2mat = new Mat();
            mat_image2mat = bitmap_image2mat.ToMat();
            Cv2.NamedWindow("Image2Mat", WindowFlags.Normal);
            Cv2.ImShow("Image2Mat", mat_image2mat);
            Cv2.WaitKey(0);
            Cv2.DestroyWindow("Image2Mat");
        }

        /// <summary>
        /// Image数据类型转化为Bitmap数据类型显示
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button9_Click(object sender, EventArgs e)
        {
            Image image_image2bitmap = Image.FromFile(Image2Bitmap);
            Bitmap bitmap_image2bitmap = (Bitmap)image_image2bitmap;
            pictureBox1.Image = bitmap_image2bitmap;
        }
    }
}

十一、效果展示

0,主界面

在这里插入图片描述

1,Mat数据类型

在这里插入图片描述

2,Bitmap数据类型

在这里插入图片描述

3,Image数据类型

在这里插入图片描述

4,Mat转Bitmap数据类型

在这里插入图片描述

5,Mat转Image

在这里插入图片描述

6,Bitmap转Mat

在这里插入图片描述

7,Bitmap转Image

在这里插入图片描述

8,Image转Mat

在这里插入图片描述

9,Image转Bitmap

在这里插入图片描述

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

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

相关文章

头歌机器学习实验 第7次实验 局部加权线性回归

任务描述 本关任务&#xff1a;编写一个利用局部加权计算回归系数的小程序。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.局部加权算法的思想&#xff1b;2.局部加权的核心算法。 局部加权算法的思想 在局部加权算法中 &#xff0c;我们给待预测点附近…

头歌-机器学习 第16次实验 EM算法

第1关:极大似然估计 任务描述 本关任务:根据本节课所学知识完成本关所设置的选择题。 相关知识 为了完成本关任务,你需要掌握: 什么是极大似然估计; 极大似然估计的原理; 极大似然估计的计算方法。 什么是极大似然估计 没有接触过或者没有听过”极大似然估计“的同学…

[dvwa] file upload

file upload 0x01 low 直接上传.php 内容写<? eval($_POST[jj]);?> 用antsword连 路径跳两层 0x02 medium 添加了两种验证&#xff0c;格式为图片&#xff0c;大小限制小于1000 上传 POST /learndvwa/vulnerabilities/upload/ HTTP/1.1 Host: dvt.dv Content-Le…

✌2024/4/6—力扣—最长公共前缀✌

代码实现&#xff1a; char *longestCommonPrefix(char **strs, int strsSize) {if (strsSize 0) {return "";}for (int i 0; i < strlen(strs[0]); i) { // 列for (int j 1; j < strsSize; j) { // 行if (strs[0][i] ! strs[j][i]) { // 如果比较字符串的第…

Covalent Network(CQT)推出以太坊质押迁移计划,以增强长期结构化数据可用性、塑造万亿级 LLM 参数体系

作为 Web3 领先的链上数据层&#xff0c;Covalent Network&#xff08;CQT&#xff09;宣布了其将质押操作从 Moonbeam 迁移回以太坊的决定。此举是 Covalent Network&#xff08;CQT&#xff09;走向以太坊时光机&#xff08;EWM&#xff09;的第一步&#xff0c;EWM 是一个为…

Android自定义控件ScrollView实现上下滑动功能

本文实例为大家分享了Android ScrollView实现上下滑动功能的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 package com.example.zhuang; import android.content.Context; import android.util.AttributeSet; import android.util.DisplayMetrics; import android…

Asterisk 21.2.0编译安装经常遇到的问题和解决办法之pjproject

目录 Asterisk社区官方的说法然而买家秀是这样的pjproject-2.14下载不了的问题如何解决 Asterisk社区官方的说法 编译安装Asterisk 21.2.0版本 按照官网文档&#xff0c;原则上只需要如下几步&#xff1a; ./contrib/scripts/install_prereq install ./configure make make i…

建立一个网站需要多长时间?如何从零开始制作企业网站,建站流程是怎么样的

为了维持你的品牌形象&#xff0c;你必须有一个在线的网站存在&#xff0c;但是创建一个网站需要多长时间呢&#xff1f;从开始到结束&#xff0c;你最期待什么&#xff1f; 我们将介绍网站开发过程的步骤以及每个步骤可能需要多少时间。我们还将探讨您设计和部署网站的选项&a…

手机银行客户端框架之TMF框架介绍

腾讯移动开发平台&#xff08;Tencent Mobile Framework&#xff09;整合了腾讯在移动产品中开发、测试、发布和运营的技术能力&#xff0c;为企业提供一站式、覆盖全生命周期的移动端技术平台。核心服务包括移动客户端开发组件、H5容器、灰度发布、热更新、离线包、网关服务、…

[【JSON2WEB】 13 基于REST2SQL 和 Amis 的 SQL 查询分析器

【JSON2WEB】01 WEB管理信息系统架构设计 【JSON2WEB】02 JSON2WEB初步UI设计 【JSON2WEB】03 go的模板包html/template的使用 【JSON2WEB】04 amis低代码前端框架介绍 【JSON2WEB】05 前端开发三件套 HTML CSS JavaScript 速成 【JSON2WEB】06 JSON2WEB前端框架搭建 【J…

wpf下如何实现超低延迟的RTMP或RTSP播放

技术背景 我们在做Windows平台RTMP和RTSP播放模块对接的时候&#xff0c;有开发者需要在wpf下调用&#xff0c;如果要在wpf下使用&#xff0c;只需要参考C#的对接demo即可&#xff0c;唯一不同的是&#xff0c;视频流数据显示的话&#xff0c;要么通过控件模式&#xff0c;要么…

Python球球大作战

文章目录 写在前面球球大作战程序设计注意事项写在后面 写在前面 安装pygame的命令&#xff1a; pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pygame球球大作战 《球球大作战》是一款简单易上手、充满趣味性和竞技性的休闲手游。游戏的核心玩法可以用一句话概…

李廉洋:4.11黄金原油早盘#行情走势#分析及策略。

美国通胀数据超出预期&#xff0c;抑制了对美联储降息的押注。Coex Partners有限公司宏观经济学家Henrik Gullberg表示&#xff1a;“对新兴市场和风险资产来说&#xff0c;(通胀)高企持续时间更长是个坏消息&#xff0c;还因为它增加了美国和全球经济更明显下滑的风险。CPI数据…

(一)基于IDEA的JAVA基础13

数组遍历 遍历数组就是把数组内的数据一个个的取出来 1.我们可以用for循环&#xff0c;依次把数字类的元素取出来。 2.增强型for循环。 用第一个方法写一下&#xff0c;看一下 public class Test01 { public static void main(String[] args) { //存储一组数据{…

计算机网络 Telnet远程访问交换机和Console终端连接交换机

一、实验要求和内容 1、配置交换机进入特权模式密文密码为“abcd两位班内学号”&#xff0c;远程登陆密码为“123456” 2、验证PC0通过远程登陆到交换机上&#xff0c;看是否可以进去特权模式 二、实验步骤 1、将一台还没配置的新交换机&#xff0c;利用console线连接设备的…

如何在极狐GitLab 使用Docker 仓库功能

本文作者&#xff1a;徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了如何在[极狐GitLab…

Unity 获取RenderTexture像素颜色值

拿来吧你~ &#x1f9aa;功能介绍&#x1f32d;Demo &#x1f9aa;功能介绍 &#x1f4a1;不通过Texture2D 而是通过ComputerShader 提取到RenderTexture的像素值&#xff0c;效率有提升哦&#xff01; &#x1f4a1;通过扩展方法调用&#xff0c;方便快捷&#xff1a;xxxRT.G…

借助 Keras 3 轻松上手 Gemma 模型

作者 / Keras 产品经理 Martin Grner Keras 团队非常高兴地宣布&#xff0c;KerasNLP 集合现已支持 Gemma&#xff01;Gemma 是先进的轻量级开放模型系列&#xff0c;采用了与构建 Gemini 模型相同的研究和技术。借助 Keras 3&#xff0c;Gemma 可以在 JAX、PyTorch 和 TensorF…

【MySQL数据库 | 第二十四篇】Limit语句的性能问题和调优策略

前言&#xff1a; MySQL作为最流行的关系型数据库管理系统之一&#xff0c;被广泛应用于各种规模和类型的应用程序中。其强大的功能和灵活的查询语言使得开发人员能够高效地执行各种数据操作和分析。 然而&#xff0c;在处理大量数据或复杂查询时&#xff0c;一些开发人员可能…

【QT+QGIS跨平台编译】175:【QGIS_App跨平台编译】—【错误处理:未定义的class APP_EXPORT】

点击查看专栏目录 文章目录 一、未定义的class APP_EXPORT二、错误处理 一、未定义的class APP_EXPORT 报错信息&#xff1a; 二、错误处理 第18行增加&#xff1a; #include "qgis_app.h"