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

我在Vscode学OpenCV 处理图像

既然我们是面向Python的OpenCV(OpenCV for Python)那我们就必须要熟悉Numpy这个库,尤其是其中的数组的库,Python是没有数组的,唯有借助他库才有所实现想要的目的。

# 老三样库--事先导入
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt

OpenCV处理图像

  • 二、图像的认识
    • 2.1图像的表示
      • 2.1.1 单通道__二值图像
      • 2.1.2 单通道__灰度图像
        • 随机抓取一点看:
      • 2.1.3 多通道__RGB彩色图像
        • 以#FFF为例子
        • 区别于OpenCV的通道
    • 2.2 逐点处理(逐像素)并操作
      • 2.2.1 灰度图像
        • (1)如何证明plt和cv2的的灰度图是一样的
        • (2)避免错误:`TypeError: unsupported operand type(s) for -: 'AxesImage' and 'int'`
          • 轴图像转换为数组形式plt.imread或plt.imsave
        • (3)plt就显示是正常的颜色。参数 cmap
          • `cmap` 是 Matplotlib 中的参数,用于指定颜色映射(Colormap),它决定了如何将数据值映射到颜色。Colormap 是一种颜色表,可以将数值数据映射到对应的颜色。它在绘制单通道图像或图表时非常有用,以帮助可视化数据。
        • (4)避免少cmap的参数出现的问题
        • (5)修改像素点
      • 2.2.2 彩色图像
        • 修改像素点
      • ==2.2.3 感兴趣区域(ROI)【待处理】==
    • 2.3 图像的属性
    • 2.4 通道的操作
      • 2.4.1 cv2.split()能够拆分图像的通道
        • 拆分后就是单通道,需要灰度图
      • 2.4.2 cv2.merge()可以实现图像通道的合并
    • 2.5 色彩转变
      • 2.5.1 色彩空间转换
      • 要以灰度图显示
        • 转换为HSV

二、图像的认识

2.1图像的表示

2.1.1 单通道__二值图像

二值图像是指仅仅包含黑色和白色两种颜色的图像。

白色像素点(白色小方块区域)处理为“1”,将黑色像素点(黑色小方块区域)处理为“0”,以方便进行后续的存储和处理等操作

例如:二维码和条形码就是简单的二值
在这里插入图片描述

2.1.2 单通道__灰度图像

二值图像表示起来简单方便,但是因为其仅有黑白两种颜色,所表示的图像不够细腻。如果想要表现更多的细节,就需要使用更多的颜色。能够表示的信息更多了

 256 个灰度级,用数值区间[0, 255]来表示,中,数值“255”表示纯白色,数值“0”表示纯黑色.
# 处理图像
import numpy as np
import cv2 as cv
import matplotlib.pyplot as pltimg =np.zeros((256,256,3),np.uint8)
plt.imshow(img[:,:,::-1])

在这里插入图片描述

随机抓取一点看:
x=np.random.randint(0,256)
y=np.random.randint(0,256)
img[x,y],x,y

> [0 0 0] 103 220
再次随机

在这里插入图片描述

2.1.3 多通道__RGB彩色图像

自然界:红色、绿色和蓝色,即三基色(按照一定的比例混合构成。)
要区别于美术中的三原色:红黄蓝

色彩空间:
从光学角度出发可以将颜色解析为主波长,纯度,明度等,
从心理学角度和视觉角度出发可以将颜色解析为色调,饱和度,亮度等,我们将这些采用不同方式表达颜色的模式称为色彩空间。

RGB三个通道,每个通道取值[0,255]之间,组合表示颜色。共可以调配出所有常见的 256×256×256=16,777,216种颜色。

RGB=(R*65536)+(G*256)+B
在这里插入图片描述

以#FFF为例子

#FFF是#FFFFFF的简称
在这里插入图片描述
其他颜色
在这里插入图片描述

区别于OpenCV的通道

在RGB的色彩空间之中是以R,G,B的顺序存储的,然而在OpenCV中的通道是B,G,R
即:在处理图像的时候,需要对指定的图像通道顺序进行转换。除此以外,还可以根据需要对不同色彩空间的图像进行类型转换(灰度图像处理为二值图像,将彩色图像处理灰度图)

比方说,扫描二维码的时候,我们需要01的黑白画面就可以,不需要[0,255]的复杂

2.2 逐点处理(逐像素)并操作

像素的一格一格的小点来描述图像,现在有numpy和matplotlib.pyplot就相当于在二位的直角坐标系中的第二象限,就能够通过索引的形式对我们设定的图像或者导入的图像进行操作,访问。
在这里插入图片描述

在这里插入图片描述

img[1,1]=(0,0,255)
plt.imshow(img[:,:,::-1])

在这里插入图片描述

2.2.1 灰度图像

在这里插入图片描述

首先使用 Numpy 库来生成一个 n×m 大小的数组,用来模拟一个黑色图像.

使用 Numpy 库中的函数 zeros()可以生成一个元素值都是 0 的数组
img=np.zeros((n,m),dtype=np.uint8

二维数组与图像之间存在对应关系。
在这里插入图片描述

(1)如何证明plt和cv2的的灰度图是一样的

在这里插入图片描述

import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像
img = cv2.imread("./Pic/f2e919585490afd1bebd313257e7ad9.jpg", 0)# # 使用cv2.imwrite将OpenCV数组图像保存为图像文件
# cv2.imwrite('./Pic/f2e919585490afd1bebd313257e7ad9.jpg', img)# 如果你想要读取并显示保存后的图像,可以执行以下代码
saved_img = cv2.imread('./Pic/f2e919585490afd1bebd313257e7ad9.jpg', 0)
plt.imshow(saved_img, cmap='gray')
plt.title('Saved Image')
print(img==saved_img)
(2)避免错误:TypeError: unsupported operand type(s) for -: 'AxesImage' and 'int'

即:不可直接比较,需要将周图像的信息转换为数组的形式,一一对比。[轴图像无法和numpy数组]
在这里插入图片描述

轴图像转换为数组形式plt.imread或plt.imsave
import matplotlib.pyplot as plt# 读取Matplotlib图像并将其转换为数组
image_plt = plt.imread('your_image_path.jpg')# 现在,image_plt是一个包含图像像素数据的NumPy数组
# 你可以对它进行处理或进行其他操作

或者,如果你要保存Matplotlib图像到文件中,你可以使用plt.imsave函数:

import matplotlib.pyplot as plt# 创建一个示例图像(这是一个例子,你可以替换它为你自己的图像数据)
image_data = ...  # 这里应该是一个NumPy数组# 使用plt.imsave保存NumPy数组为图像文件
plt.imsave('output_image.jpg', image_data)

通过这两种方法,你可以在Matplotlib图像和NumPy数组之间进行相互转换。注意,如果你使用了一些Matplotlib特定的绘图函数来创建图像,你可以使用plt.gcf()获取当前的图形对象,然后使用savefig方法将其保存为图像文件。

(3)plt就显示是正常的颜色。参数 cmap

在使用 Matplotlib 绘制图像时,可以使用不同的 colormap(颜色映射)来表示单通道图像,例如使用 cmap=‘gray’ 来显示灰度图像。对于四通道的图像,Matplotlib 也可以正确地显示透明度(Alpha)通道。

这是由于plt的映射到在灰度图像中,你只有一个通道,表示亮度值,但你可以使用不同的 Colormap 来表示这些亮度值。

cool 包含青绿色和品红色的阴影色。从青绿色平滑变化到品红色。
gray 返回线性灰度色图。
bone 具有较高的蓝色成分的灰度色图。该色图用于对灰度图添加电子的视图。

opencv是BGR通道,plt默认RGB通道,若使用cv2.imread()读入图像,用plt.imshow()展示原始图像或者展示对读入图像进行一系列操作后的图像时,需要进行通道转换。

显示灰度图像:

import matplotlib.pyplot as plt
import cv2# 读取灰度图像
gray_image = cv2.imread('gray_image.png', cv2.IMREAD_GRAYSCALE)# 显示灰度图像
plt.imshow(gray_image, cmap='gray')
plt.show()

显示四通道图像(RGBA):

import matplotlib.pyplot as plt
import cv2# 读取四通道图像
rgba_image = cv2.imread('rgba_image.png', cv2.IMREAD_UNCHANGED)# 显示四通道图像,包括透明度通道
plt.imshow(rgba_image)
plt.show()
cmap 是 Matplotlib 中的参数,用于指定颜色映射(Colormap),它决定了如何将数据值映射到颜色。Colormap 是一种颜色表,可以将数值数据映射到对应的颜色。它在绘制单通道图像或图表时非常有用,以帮助可视化数据。

Colormap 并不是通道的意思,而是指定如何将单一通道的数值映射到颜色的规则。在灰度图像中,你只有一个通道,表示亮度值,但你可以使用不同的 Colormap 来表示这些亮度值。

Matplotlib 提供了多种内置的 Colormap,一些常见的包括:

  1. 'viridis':从紫色到黄绿色的颜色映射,用于表示数据值的连续变化。
  2. 'jet':经典的彩虹颜色映射。
  3. 'gray':灰度颜色映射,用于表示单通道图像,将较暗的值映射为黑色,较亮的值映射为白色。
  4. 'copper':铜色颜色映射,常用于表示表面温度。

你可以在 Matplotlib 中使用 cmap 参数来指定所使用的颜色映射。例如:

import matplotlib.pyplot as plt
import numpy as np# 创建一个示例的单通道数据
data = np.random.random((10, 10))# 使用'viridis' Colormap来绘制数据
plt.imshow(data, cmap='viridis')
plt.colorbar()  # 显示颜色条
plt.show()

这将使用 ‘viridis’ Colormap 来表示数据中不同值的颜色。你可以根据你的需求选择合适的 Colormap 来更好地可视化你的数据。不同的 Colormap 可以传达不同的信息和情感。

(4)避免少cmap的参数出现的问题
import cv2
import numpy as np
import matplotlib.pyplot as plt
img=np.ones((200,800,3),dtype=np.uint8)
img[:] = 255cv2.imshow("this",img)
plt.imshow(img, cmap='gray')
cv2.waitKey(0)cv2.destroyAllWindows()
img

在这里插入图片描述

(5)修改像素点

函数 item()能够更加高效地访问图像的像素点,该函数的语法格式为:
item(行,列)
函数 itemset()可以用来修改像素值,其语法格式为:
itemset(索引值,新值

import numpy as np
img=np.random.randint(10,99,size=[5,5],dtype=np.uint8)
print("img=\n",img)
print("读取像素点 img.item(3,2)=",img.item(3,2))
img.itemset((3,2),255)
print("修改后 img=\n",img)
print("修改后像素点 img.item(3,2)=",img.item(3,2))

随机生成一张灰度图

img=np.random.randint(0,256,size=[256,256],dtype=np.uint8)
cv2.imshow("demo",img)cv2.waitKey() cv2.destroyAllWindows()

在这里插入图片描述**加粗样式
**

2.2.2 彩色图像

RGB 模式的彩色图像在读入 OpenCV 内进行处理时,会反向的读取图像像素BGR,并存储在ndarray中。其中的BGR为三维数组

在这里插入图片描述

import numpy as np
import cv2
#-----------蓝色通道值--------------
blue=np.zeros((300,300,3),dtype=np.uint8)
blue[:,:,0]=255
print("blue=\n",blue)
cv2.imshow("blue",blue)
#-----------绿色通道值--------------
green=np.zeros((300,300,3),dtype=np.uint8)
green[:,:,1]=255
print("green=\n",green)
cv2.imshow("green",green)
#-----------红色通道值--------------
red=np.zeros((300,300,3),dtype=np.uint8)
red[:,:,2]=255
print("red=\n",red)
cv2.imshow("red",red)
#-----------释放窗口--------------
cv2.waitKey()
cv2.destroyAllWindows()
修改像素点

函数 item()访问 RGB 模式图像的像素值时,其语法格式为:
item(行,列,通道)
函数 itemset()修改(设置)RGB 模式图像的像素值时,其语法格式为:
itemset(三元组索引值,新值)
需要注意,针对 RGB 图像的访问,必须同时指定行、列以及行列索引(通道),例如
img.item(a,b,c)。仅仅指定行和列是不可以的

import numpy as np
img=np.random.randint(10,99,size=[2,4,3],dtype=np.uint8)
print("img=\n",img)
print("读取像素点 img[1,2,0]=",img.item(1,2,0))
print("读取像素点 img[0,2,1]=",img.item(0,2,1))
print("读取像素点 img[1,0,2]=",img.item(1,0,2))
img.itemset((1,2,0),255)
img.itemset((0,2,1),255)
img.itemset((1,0,2),255)
print("修改后 img=\n",img)2 章 图像处理基础
27
print("修改后像素点 img[1,2,0]=",img.item(1,2,0))
print("修改后像素点 img[0,2,1]=",img.item(0,2,1))
print("修改后像素点 img[1,0,2]=",img.item(1,0,2))

生成一幅彩色图像,让其中的像素值均为随机数。 根据题目要求,编写代码如下: import cv2

import numpy as np
> img=np.random.randint(0,256,size=[256,256,3],dtype=np.uint8)
> cv2.imshow("demo",img)
> cv2.waitKey()
> cv2.destroyAllWindows()

2.2.3 感兴趣区域(ROI)【待处理】

ROI(region of interest),感兴趣区域。机器视觉、图像处理中,从被处理的图像以方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域,称为感兴趣区域,ROI。在Halcon、OpenCV、Matlab等机器视觉软件上常用到各种算子(Operator)和函数来求得感兴趣区域ROI,并进行图像的下一步处理。

2.3 图像的属性

图像的属性

属性— API
形状 img.shape
图像大小 img.size
数据类型 img.dtype

 shape:如果是彩色图像,则返回包含行数、列数、通道数的数组;如果是二值图像或者灰度图像,则仅返回行数和列数。通过该属性的返回值是否包含通道数,可以判断一幅图像是灰度图像(或二值图像)还是彩色图像。

 size:返回图像的像素数目。其值为“行×列×通道数”,灰度图像或者二值图像的通道数为 1。

 dtype:返回图像的数据类型

2.4 通道的操作

针对 OpenCV 内的 BGR
图像 img,如下语句分别从中提取了 B 通道、G 通道、R 通道。

b = img[ : , : , 0 ]
g = img[ : , : , 1 ]
r = img[ : , : , 2 ]

2.4.1 cv2.split()能够拆分图像的通道

b,g,r=cv2.split(img)
#通道拆分
b,g,r=cv.split(newimg)
拆分后就是单通道,需要灰度图

plt.imshow(b,cmap=plt.cm.gray)
在这里插入图片描述
在这里插入图片描述

2.4.2 cv2.merge()可以实现图像通道的合并

newimg=cv2.merge([b,g,r])

1

2.5 色彩转变

2.5.1 色彩空间转换

gray=cv.cvtColor(newimg,cv.COLOR_BGR2GRAY)
# plt.imshow(gray)

要以灰度图显示

plt.imshow(gray,cmap=plt.cm.gray)

在这里插入图片描述

转换为HSV
hsv=cv.cvtColor(newimg,cv.COLOR_BGR2HSV)
plt.imshow(hsv)

在这里插入图片描述

相关文章:

我在Vscode学OpenCV 处理图像

既然我们是面向Python的OpenCV(OpenCV for Python)那我们就必须要熟悉Numpy这个库,尤其是其中的数组的库,Python是没有数组的,唯有借助他库才有所实现想要的目的。 # 老三样库--事先导入 import numpy as np import c…...

【python】路径管理+路径拼接问题

路径管理 问题相对路径问题绝对路径问题 解决os库pathlib库最终解决 问题 环境:python3.7.16 win10 相对路径问题 因为python的执行特殊性,使用相对路径时,在不同路径下用python指令会有不同的索引效果(python的项目根目录根据执…...

C现代方法(第16章)笔记——结构、联合和枚举

文章目录 第16章 结构、联合和枚举16.1 结构变量16.1.1 结构变量的声明16.1.2 结构变量的初始化16.1.3 指示器(C99)16.1.4 对结构的操作 16.2 结构类型16.2.1 结构标记的声明16.2.2 结构类型的定义16.2.3 结构作为参数和返回值16.2.4 复合字面量(C99)16.2.5 匿名结构(C1X) 16.3…...

Python项目——识别指定物品

目录 1、百度EasyDL平台数据配置 1.1、训练图像上传 1.2、训练图像进行标注 1.3、训练模型 1.4、检验识别 1.5、申请发布 1.6、控制台权限配置 2、Python调用物体识别API 本项目是基于百度EasyDL平台制作的识别转盘内瓶子,且识别瓶子位置的一个项目。通过在…...

Spring-创建非懒加载的单例Bean源码

补充&#xff1a;关于扫描的逻辑 /*** Scan the class path for candidate components.* param basePackage the package to check for annotated classes* return a corresponding Set of autodetected bean definitions*/ public Set<BeanDefinition> findCandidateCo…...

Techlink TL24G06 网络变压器 10G 基座单端口变压器

功能特征&#xff1a; 1、符合IEEE 802.3标准。 2、符合RoHS。 3、工作温度范围&#xff1a;0C至70C。 4、储存温度范围&#xff1a;-20C至125C。...

Python操作PDF:PDF文件合并与PDF页面重排

处理大量的 PDF 文档是非常麻烦的事情&#xff0c;频繁地打开关闭文件会严重影响工作效率。对于一大堆内容相关的 PDF 文件&#xff0c;我们在处理时可以将这些 PDF 文件合并起来&#xff0c;作为单一文件处理&#xff0c;从而提高处理效率。同时&#xff0c;我们也可以选取不同…...

删除链表的倒数第n个节点(C++解法)

题目 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5]示例 2&#xff1a; 输入&#xff1a;head [1], n 1 输出&#xff1a;[]示例 3&#…...

Apache服务的搭建与配置(超详细版)

前言 Apache是一种常见的Web服务器软件&#xff0c;广泛用于Linux和其他UNIX操作系统上。它是自由软件&#xff0c;可以通过开放源代码的方式进行自由分发和修改。Apache提供了处理静态和动态内容的能力&#xff0c;而且还支持多种编程语言和脚本&#xff0c;如PHP、Python和P…...

设计模式大赏(一):桥接模式,组合模式

设计模式大赏&#xff08;一&#xff09;&#xff1a;桥接模式&#xff0c;组合模式 导言 本篇文章是设计模式大赏中的第一篇文章&#xff0c;这个系列的文章中我们主要将介绍一些常见的设计模式&#xff0c;主要是我在看Android源码中发现用到的一些设计模式。本篇文章将主要…...

数据通信——应用层(DHCP的原理与配置)

引言 假如我们的网络中有N台设备&#xff0c;它们都要设置IP地址&#xff0c;如果人工去一个个配置不仅不方便管理还很麻烦。因此我们用DHCP来自动分配地址。 一&#xff0c;系统的启动流程 不仅是计算机、很多网络设备的启动流程如下&#xff1a; 设备上电后&#xff0c;硬件…...

力扣151.反转字符串中的单词

原题链接&#xff1a;力扣151.反转字符串中的单词 全代码&#xff1a; 需要复刷 class Solution { public:void reverse(string& s, int start, int end){ //翻转&#xff0c;区间写法&#xff1a;左闭右闭 []for (int i start, j end; i < j; i, j--) {swap(s[i],…...

vim三种模式,文本操作(操作字符/光标,列出行号可视化块模式/多文件查看)

目录 vim--文本编辑器 功能 基本概念 命令/默认模式 插入模式 底行模式 文本操作 引入 移动光标位置 删除字符 -- x/dd 复制/粘贴字符 -- yw/yyp 替换文本 -- r / %s 底行模式 全局替换 -- /g 撤销操作 -- u / ctrlr 修改字符 -- cw 示例 跳行 -- ctrlg 底行…...

jquery控制easyui中combobox、textbox显示隐藏

//combobox下拉框 $("#下拉框id.combo").hide();//textbox输入框 $("#输入框id.textbox").hide(); 参考网址&#xff1a; https://blog.csdn.net/Coldmood/article/details/128279727...

Android拖放startDragAndDrop拖拽onDrawShadow静态添加xml布局View,Kotlin(4)

Android拖放startDragAndDrop拖拽onDrawShadow静态添加xml布局View&#xff0c;Kotlin&#xff08;4&#xff09; import android.content.ClipData import android.graphics.Canvas import android.graphics.Point import android.os.Bundle import android.util.Log import a…...

Servlet 初始化参数(web.xml和@WebServlet)

1、通过web.xml方式 <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://xmlns.jcp.org/xm…...

shell_62.shell脚本生成一个标准的 SQL INSERT 语句

无论是将文件读入脚本&#xff0c;还是将数据从脚本输出到文件&#xff0c;都会用到文件重定向&#xff0c;这是一种很 常见的操作。本节中的示例脚本两种功能皆有。它会读取 CSV 格式的数据文件&#xff0c;输出 SQL INSERT 语句&#xff0c;并将数据插入数据库。 shell 脚本使…...

华为ICT——第五章语音处理理论与实践

目录 语言学&#xff1a; 主要应用场景&#xff1a; 语言学&#xff1a; 语言学&#xff1a; 语音学&#xff08;1&#xff09; 语音学&#xff08;2&#xff09; 语音处理介绍&#xff1a; 人类语音的来源&#xff1a; 语言数据&#xff1a; 语言信号预处理&#xff1a; …...

ardupilot开发 --- SLAM 篇

1. 视觉SLAM 1.1 深度相机的种类 结构光相机&#xff0c;如 Kinect1.0、RealSenseTOF相机&#xff0c;如 Kinect2.0双目相机&#xff0c;如 ZED详细参考&#xff1a;https://zhuanlan.zhihu.com/p/282776636 1.2 视觉SLAM算法 2D slam 与3D slam 应用场景有哪些不同&#x…...

Elasticsearch:在你的数据上训练大型语言模型 (LLM)

过去的一两年&#xff0c;大型语言模型&#xff08;LLM&#xff09;席卷了互联网。 最近 Google 推出的 PaLM 2 和 OpenAI 推出的 GPT 4激发了企业的想象力。 跨领域构思了许多潜在的用例。 多语言客户支持、代码生成、内容创建和高级聊天机器人都是一些例子。 这些用例要求 LL…...

避开这3个坑,你的LVGL界面动画才能流畅不卡顿:定时器使用避坑指南

避开这3个坑&#xff0c;你的LVGL界面动画才能流畅不卡顿&#xff1a;定时器使用避坑指南 在嵌入式GUI开发中&#xff0c;流畅的动画效果往往能大幅提升用户体验。但很多开发者在使用LVGL定时器实现动画时&#xff0c;常会遇到界面卡顿、响应迟缓的问题。这通常不是LVGL本身的问…...

Kazumi:3步打造你的专属动漫播放器,告别追番烦恼

Kazumi&#xff1a;3步打造你的专属动漫播放器&#xff0c;告别追番烦恼 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP&#xff0c;支持流媒体在线观看&#xff0c;支持弹幕&#xff0c;支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi …...

auto_feed:重新定义PT资源转载工作流的技术架构解析

auto_feed&#xff1a;重新定义PT资源转载工作流的技术架构解析 【免费下载链接】auto_feed_js PT站一键转载脚本 项目地址: https://gitcode.com/gh_mirrors/au/auto_feed_js 如果你是一名PT社区的活跃用户&#xff0c;每天需要在不同站点间手动复制粘贴资源信息&#…...

WebGPU实战指南:从零构建浏览器端高性能图形应用

1. WebGPU入门&#xff1a;为什么它是浏览器图形技术的未来 第一次接触WebGPU时&#xff0c;我被它的性能数据震惊了。在同样的硬件环境下&#xff0c;WebGPU渲染三角形的速度是WebGL的8-10倍。这就像从乡村小路突然切换到高速公路的感觉。你可能已经习惯了用Canvas或WebGL在浏…...

OpenClaw模型微调:为Qwen2.5-VL-7B注入专业领域识别能力

OpenClaw模型微调&#xff1a;为Qwen2.5-VL-7B注入专业领域识别能力 1. 为什么需要专业领域微调&#xff1f; 去年我在尝试用OpenClaw构建一个医疗影像辅助分析工具时&#xff0c;发现现成的多模态模型在描述X光片时总会出现一些令人啼笑皆非的错误。比如把正常的肺部纹理识别…...

马尔可夫过程图解指南:为什么强化学习必须掌握这个数学概念?

马尔可夫过程图解指南&#xff1a;为什么强化学习必须掌握这个数学概念&#xff1f; 想象你正在规划一次周末出行&#xff1a;如果今天是晴天&#xff0c;明天有70%概率继续放晴&#xff1b;如果今天下雨&#xff0c;明天转晴的概率只有30%。这种"未来只依赖现在"的思…...

Qwen2.5-7B-Instruct行业落地:医疗报告结构化提取+术语标准化+摘要生成

Qwen2.5-7B-Instruct行业落地&#xff1a;医疗报告结构化提取术语标准化摘要生成 1. 项目背景与核心价值 医疗文档处理一直是医疗机构面临的重大挑战。传统的医疗报告处理需要医护人员手动提取关键信息、标准化医学术语、并生成临床摘要&#xff0c;这个过程既耗时又容易出错…...

提升开发效率:用快马AI自动生成2048论坛带加密验证的登录模块代码

最近在开发一个2048论坛项目时&#xff0c;遇到了登录模块的开发需求。这个看似简单的功能其实包含不少技术细节&#xff0c;如果从头开始手动编写&#xff0c;至少要花费一整天时间。幸运的是&#xff0c;我发现了InsCode(快马)平台这个开发利器&#xff0c;它帮我快速生成了完…...

OpenClaw自动化测试新思路:千问3.5-27B生成与执行UI测试用例

OpenClaw自动化测试新思路&#xff1a;千问3.5-27B生成与执行UI测试用例 1. 为什么我们需要重新思考UI测试 作为一位经历过手工测试、录制回放、脚本维护三个阶段的老测试工程师&#xff0c;我始终被一个问题困扰&#xff1a;测试用例的维护成本永远与业务复杂度成正比。直到…...

综合能源系统双层鲁棒优化,考虑风光负荷电价四重不确定性的综合能源系统双层鲁棒优化模型,采用多目标粒子群算法(MOPSO)求解,同时进行鲁棒度和置信水平的敏感度分析(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...