【Python】编程练习的解密与实战(四)

🌈个人主页:Sarapines Programmer
🔥 系列专栏:《Python | 编程解码》
⏰诗赋清音:云生高巅梦远游, 星光点缀碧海愁。 山川深邃情难晤, 剑气凌云志自修。

目录

🪐1. 初识Python

🪐2. 实验报告四

🌍实验目的

🌍实验要求

🌍实验代码

🌍实验结果

🌍实验体会

📝总结


🪐1. 初识Python

Python是一种高级、通用、解释型的编程语言,具有简洁而清晰的语法,被广泛应用于软件开发、数据科学、人工智能等领域。以下是Python技术的一些主要特点和应用领域:

  1. 易学易用: Python的语法设计简单,容易学习和理解。这使得它成为初学者和专业开发人员的首选语言之一。

  2. 开源: Python是开源的,任何人都可以查看、修改和分发其源代码。这为开发者提供了自由和灵活性。

  3. 跨平台: Python可在多个操作系统上运行,包括Windows、Linux和macOS,使其成为跨平台开发的理想选择。

  4. 强大的社区支持: Python拥有庞大的全球开发者社区,用户可以获得丰富的文档、库和工具,方便解决各类问题。

  5. 广泛应用领域: Python在多个领域都有应用,包括Web开发、数据科学、机器学习、人工智能、自动化测试、网络编程等。

  6. 丰富的第三方库: Python拥有丰富的第三方库和框架,如NumPy、Pandas、Django、Flask等,提供了强大的工具来简化开发流程。

  7. 动态类型: Python是一种动态类型语言,允许开发者更加灵活地进行变量和对象的操作。

  8. 面向对象编程: Python支持面向对象编程,使得代码结构更加模块化、可维护性更强。

总体而言,Python是一门功能强大、灵活易用的编程语言,适用于各种规模和类型的项目,从小型脚本到大型应用,都能够得心应手。


🪐2. 实验报告四

🌍实验目的

  • 掌握Jupyter Notebook编程工具的基本用法:

    • 学习并掌握Jupyter Notebook的基本用法,包括代码编写、执行和Markdown文档的编辑等。
  • 理解并熟悉Python的Seaborn和Matplotlib画图:

    • 了解Seaborn和Matplotlib这两个Python库在数据可视化方面的作用。
    • 熟悉它们的画图函数和参数,能够使用它们创建各种图表。
  • 使用图像的RGB色彩模式并实现图像的数组表示与图像变换:

    • 理解图像的RGB色彩模式,了解每个像素由红、绿、蓝三个通道组成。
    • 学习如何将图像表示为数组,掌握图像数组的基本概念。
    • 实现图像的变换,例如通过调整色彩、大小或应用滤镜等方式对图像进行修改。

🌍实验要求

  • 操作书上第九章内容:阅读并实践书籍中的第九章内容,深入了解相关知识和技能。

  • 请画出如图2.png所示的图形:进行图形绘制工作,按照图2.png的示例绘制相应的图形。

  • 通过编码获得fcity.jpg的手绘图像(如beijing.jpg所示):利用编码技术,对fcity.jpg进行处理,生成类似beijing.jpg的手绘效果图像。这可能涉及图像处理算法和相关库的使用。


🌍实验代码

1. 操作书上第九章内容

## 1.操作书上第九章内容 
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

## 直线图
data=np.arange(10)
plt.plot(data)

## 创建画布
fig=plt.figure()
axs=plt.subplots(2,3)
axs

## 折线图
plt.figure()
plt.plot([1,2,3,4,5,6,7],[10,15,13,16,18,20,10])
plt.show()

## 散点图
# 0.准备数据
x = [225.98, 247.07, 253.14, 457.85, 241.58, 301.01,  20.67, 288.64,
       163.56, 120.06, 207.83, 342.75, 147.9 ,  53.06, 224.72,  29.51,
        21.61, 483.21, 245.25, 399.25, 343.35]
y = [196.63, 203.88, 210.75, 372.74, 202.41, 247.61,  24.9 , 239.34,
       140.32, 104.15, 176.84, 288.23, 128.79,  49.64, 191.74,  33.1 ,
        30.74, 400.02, 205.35, 330.64, 283.45]
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
# 2.绘制图像
plt.scatter(x, y)
# 3.图像显示
plt.show()

## 柱状图
movie_name = ['雷神3:诸神黄昏','正义联盟','东方快车谋杀案','寻梦环游记','全球风暴','降魔传','追捕','七十七天','密战','狂兽','其它']
# 横坐标
x = range(len(movie_name))
# 票房数据
y = [73853,57767,22354,15969,14839,8725,8716,8318,7916,6764,52222]
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
# 2.绘制图像
plt.bar(x, y, color=['b','r','g','y','c','m','y','k','c','g','b'], width=0.7)
# 2.1 修改x轴显示
plt.xticks(x, movie_name)
# 2.2 添加网格
plt.grid(linestyle="--", alpha=0.8)
# 2.3 添加标题
plt.title("电影票房收入对比")
# 3.图像显示
plt.show()

## 绘制基本图像
import random
from pylab import mpl
# 设置显示中文字体
mpl.rcParams["font.sans-serif"] = ["SimHei"]
# 设置正常显示符号
mpl.rcParams["axes.unicode_minus"] = False
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]
# 建画布
plt.figure(figsize=(20,8),dpi=80)
# 绘折线图
plt.plot(x,y_shanghai)
# 显示图像
plt.show()

## 修改x,y间隔
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]
# 建画布
plt.figure(figsize=(20,8),dpi=80)
# 绘折线图
plt.plot(x,y_shanghai)

# 修改x,y轴刻度
x_ticks_label=["11点{}分".format(i) for i in x]
y_ticks=range(40)
# 修改x,y间隔
plt.xticks(x[::5])
plt.yticks(y_ticks[::5])
# 显示图像
plt.show()

## 解决中文问题
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]
# 建画布
plt.figure(figsize=(20,8),dpi=80)
# 绘折线图
plt.plot(x,y_shanghai)
# 修改x,y轴刻度
x_ticks_label=["11点{}分".format(i) for i in x]
y_ticks=range(40)
# 修改x,y间隔
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
# 显示图像
plt.show()

## 添加网格信息
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]
# 建画布
plt.figure(figsize=(20,8),dpi=80)
# 绘折线图
plt.plot(x,y_shanghai)
# 修改x,y轴刻度
x_ticks_label=["11点{}分".format(i) for i in x]
y_ticks=range(40)
# 修改x,y间隔
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
#添加网格信息
plt.grid(True,linestyle="--",alpha=1)
# 显示图像
plt.show()

## 添加x、y轴还有标题描述信息
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]
# 建画布
plt.figure(figsize=(20,8),dpi=80)
# 绘折线图
plt.plot(x,y_shanghai)
# 修改x,y轴刻度
x_ticks_label=["11点{}分".format(i) for i in x]
y_ticks=range(40)
# 修改x,y间隔
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
#添加网格信息
plt.grid(True,linestyle="--",alpha=1)
# 2.3 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点-12点某城市温度变化图", fontsize=20)
# 显示图像
plt.show()

## 图像保存
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]
# 建画布
plt.figure(figsize=(20,8),dpi=80)
# 绘折线图
plt.plot(x,y_shanghai)
# 修改x,y轴刻度
x_ticks_label=["11点{}分".format(i) for i in x]
y_ticks=range(40)
# 修改x,y间隔
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
#添加网格信息
plt.grid(True,linestyle="--",alpha=1)
# 2.3 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点-12点某城市温度变化图", fontsize=20)
# 2.4 图像保存
plt.savefig("./test.png")
# 显示图像
plt.show()

## 在一个坐标系中绘制多个图像
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]

y_beijing=[random.uniform(1,3) for i in x]
# 建画布
plt.figure(figsize=(20,8),dpi=80)
# 绘折线图

plt.plot(x, y_shanghai, label="上海")
plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
# 修改x,y轴刻度
x_ticks_label=["11点{}分".format(i) for i in x]
y_ticks=range(40)
# 修改x,y间隔
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
#添加网格信息
plt.grid(True,linestyle="--",alpha=1)
# 2.3 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点-12点某城市温度变化图", fontsize=20)
# 2.4 图像保存
plt.savefig("./test.png")

# 2.5 显示图例
plt.legend(loc=0)
# 显示图像
plt.show()

## 只建画布+绘制图像
x=range(60)
y_shanghai=[random.uniform(15,8) for i in x]
y_beijing=[random.uniform(1,3) for i in x]
# 1.创建画布
# plt.figure(figsize=(20, 8), dpi=100)
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=100)
# 2.绘制图像
# plt.plot(x, y_shanghai, label="上海")
# plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
axes[0].plot(x, y_shanghai, label="上海")
axes[1].plot(x, y_beijing, color="r", linestyle="--", label="北京")
# 修改x,y轴刻度
x_ticks_label=["11点{}分".format(i) for i in x]
y_ticks=range(40)
# 修改x,y间隔
plt.xticks(x[::5],x_ticks_label[::5])
plt.yticks(y_ticks[::5])
#添加网格信息
plt.grid(True,linestyle="--",alpha=1)
# 2.3 添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点-12点某城市温度变化图", fontsize=20)
# 2.4 图像保存
plt.savefig("./test.png")
# 2.5 显示图例
plt.legend(loc=0)
# 显示图像
plt.show()

## 完善
# 0.准备数据
x = range(60)
y_shanghai = [random.uniform(15, 18) for i in x]
y_beijing = [random.uniform(1, 3) for i in x]


# 1.创建画布
# plt.figure(figsize=(20, 8), dpi=100)
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(20, 8), dpi=100)


# 2.绘制图像
# plt.plot(x, y_shanghai, label="上海")
# plt.plot(x, y_beijing, color="r", linestyle="--", label="北京")
axes[0].plot(x, y_shanghai, label="上海")
axes[1].plot(x, y_beijing, color="r", linestyle="--", label="北京")
# 2.1 添加x,y轴刻度
# 设置x,y轴刻度
x_ticks_label = ["11点{}分".format(i) for i in x]
y_ticks = range(40)
# 修改x,y轴坐标刻度显示
# plt.xticks(x_ticks_label[::5]) # 坐标刻度不可以直接通过字符串进行修改
# plt.xticks(x[::5], x_ticks_label[::5])
# plt.yticks(y_ticks[::5])
axes[1].set_xticks(x[::5])
axes[1].set_yticks(y_ticks[::5])
axes[1].set_xticklabels(x_ticks_label[::5])
# 2.2 添加网格显示
# plt.grid(True, linestyle="--", alpha=1)
axes[0].grid(True, linestyle="--", alpha=1)
axes[1].grid(True, linestyle="--", alpha=1)
# 2.3 添加描述信息
# plt.xlabel("时间")
# plt.ylabel("温度")
# plt.title("中午11点-12点某城市温度变化图", fontsize=20)
axes[0].set_xlabel("时间")
axes[0].set_ylabel("温度")
axes[0].set_title("中午11点-12点某城市温度变化图", fontsize=20)
axes[1].set_xlabel("时间")
axes[1].set_ylabel("温度")
axes[1].set_title("中午11点-12点某城市温度变化图", fontsize=20)
# 2.4 图像保存
plt.savefig("./test.png")
# 2.5 显示图例
# plt.legend(loc=0)
axes[0].legend(loc=0)
axes[1].legend(loc=0)
# 3.图像显示
plt.show()

## 波形图应用举例
import numpy as np
# 0.准备数据
x = np.linspace(-10, 10, 1000)
y = np.sin(x)
# 1.创建画布
plt.figure(figsize=(20, 8), dpi=100)
# 2.绘制函数图像
plt.plot(x, y)
# 2.1 添加网格显示
plt.grid()
# 3.显示图像
plt.show()

## 利用seaborn画图
import seaborn as sns
import numpy as np
import pandas as pd

np.random.seed(0) #确定随机数生成数据一样
arr=np.random.randn(100)
sns.distplot(arr,bins=10,hist=True,kde=True,rug=True)

# 绘制双变量分布
## 绘制散点图

df=pd.DataFrame({"x":np.random.randn(500),"y":np.random.randn(500),"z":np.random.randn(500),"k":np.random.randn(500)})
sns.jointplot("x","y",data=df,kind='scatter',color="red",size=5,ratio=5,space=1,dropna=True)

sns.jointplot("x","y",data=df,kind='kde',color="red",size=5,ratio=5,space=1,dropna=True)

sns.jointplot("x","y",data=df,kind='hex',color="blue",size=5,ratio=5,space=1,dropna=True)

## 绘制成对双变量分布
sns.pairplot(df)

## 绘制类别散点图
ddf=pd.DataFrame({"x":np.random.randn(5),"y":np.random.randn(5),"z":np.random.randn(5),"k":np.random.randn(5),"week":["one","two","three","four","five"]})
ddf

sns.swarmplot(x="week",y="x",data=ddf,hue="y")

2. 请画出如图2.png所示的图形

## 请画出如图2.png所示的图形
import turtle as t
t.Turtle().screen.delay(0)  #加速
s=0
t.pen 
t.seth(0)
length=0
while (length !=400): #当边长达到400时循环结束
    t.penup()       #提起画笔
    t.goto(s,s)     #新的起点坐标
    t.pendown()     #放下画笔
    for i in range(4):
        t.fd(length)    #边长
        t.left(90)  #画笔方向向左旋转90度
    length += 10    #边长加10
    s -= 5    #改变画笔起点
t.hideturtle()         #绘图结束后把笔头隐藏起来
t.done()               #绘图结束后使窗口停留

## 画圆柱
import turtle as t
import numpy as np
t.Turtle().screen.delay(0)  #加速
s=0
t.pen 
t.seth(0)
length=0
while (length !=400): #当边长达到400时循环结束
    t.penup()       #提起画笔
    t.goto(s,s)     #新的起点坐标
    t.pendown()     #放下画笔
    for i in range(90):
        t.fd(length)    #边长
        t.left(4)  #画笔方向向左旋转90度
    length =2*np.pi    #边长加10
    s -= 5    #改变画笔起点
t.hideturtle(True)         #绘图结束后把笔头隐藏起来
t.done()               #绘图结束后使窗口停留

## 画圆
import turtle as t
import numpy as np
#t.Turtle().screen.delay(0)  #加速
s=0
t.pen 
t.seth(0)
length=0
r=1
t.penup()       #提起画笔
t.goto(s,s)     #新的起点坐标
t.pendown()     #放下画笔
for i in range(360):
    t.fd(length)    #边长
    t.left(4)  #画笔方向向左旋转90度
    length =2*np.pi*r    #边长加10  
t.hideturtle(True)         #绘图结束后把笔头隐藏起来
t.done()               #绘图结束后使窗口停留

3. 通过编码获得fcity.jpg的手绘图像(如beijing.jpg所示)

## 通过编码获得fcity.jpg的手绘图像(如beijing.jpg所示)
from PIL import Image
import numpy as np
a = np.asarray(Image.open('C:/Users/86151/mycode/fcity.jpg').convert('L')).astype('float')
depth = 10. # (0-100)
grad = np.gradient(a)#取图像灰度的梯度值
grad_x, grad_y = grad #分别取横纵图像梯度值
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100.  #深度调整x、y的梯度值
A = np.sqrt(grad_x**2 + grad_y**2 + 1.)  #梯度归一化
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
vec_el = np.pi/2.2 # 光源的俯视角度,弧度值
vec_az = np.pi/4. # 光源的方位角度,弧度值
dx = np.cos(vec_el)*np.cos(vec_az) #光源对x 轴的影响
dy = np.cos(vec_el)*np.sin(vec_az) #光源对y 轴的影响
dz = np.sin(vec_el) #光源对z 轴的影响
b = 255*(dx*uni_x + dy*uni_y + dz*uni_z) #光源归一化,梯度转化为灰度
b = b.clip(0,255)  #避免数据越界
im = Image.fromarray(b.astype('uint8')) #重构图像
im

## 修改光源1
from PIL import Image
import numpy as np
a = np.asarray(Image.open('C:/Users/86151/mycode/fcity.jpg').convert('L')).astype('float')
depth = 10. # (0-100)
grad = np.gradient(a)#取图像灰度的梯度值
grad_x, grad_y = grad #分别取横纵图像梯度值
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100.  #深度调整x、y的梯度值
A = np.sqrt(grad_x**2 + grad_y**2 )  #梯度归一化
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
vec_el = np.pi/2.2 # 光源的俯视角度,弧度值
vec_az = np.pi/4. # 光源的方位角度,弧度值
dx = np.cos(vec_el)*np.cos(vec_az) #光源对x 轴的影响
dy = np.cos(vec_el)*np.sin(vec_az) #光源对y 轴的影响
dz = np.sin(vec_el) #光源对z 轴的影响
b = 255*(dx*uni_x + dy*uni_y + dz*uni_z) #光源归一化,梯度转化为灰度
b = b.clip(0,255)  #避免数据越界
im = Image.fromarray(b.astype('uint8')) #重构图像
im

## 图像的数组表示
from PIL import Image  #图像处理的库
import numpy as np
im = np.array(Image.open('C:/Users/86151/mycode/fcity.jpg'))
print(im.shape,im.dtype)

## 修改光源2
from PIL import Image  #图像处理的库
import numpy as np
a1 = np.array(Image.open('C:/Users/86151/mycode/fcity.jpg'))
print(a1.shape,a1.dtype)
b1=[255,255,255]-a1
im1 = Image.fromarray(b1.astype('uint8')) #重构图像
im1

## 修改光源3
from PIL import Image  #图像处理的库
import numpy as np
a = np.array(Image.open('C:/Users/86151/mycode/fcity.jpg').convert('L'))
b=255-a
im2 = Image.fromarray(b.astype('uint8')) #重构图像
im2

## 修改光源4
from PIL import Image  #图像处理的库
import numpy as np
a = np.array(Image.open('C:/Users/86151/mycode/fcity.jpg').convert('L'))
b=(100/255)*a+150 #区间变换
im3 = Image.fromarray(b.astype('uint8')) #重构图像
im3
## 修改光源5
from PIL import Image  #图像处理的库
import numpy as np
a = np.array(Image.open('C:/Users/86151/mycode/fcity.jpg').convert('L'))
b=(255)*(a/255)**2  #像素平方
im3 = Image.fromarray(b.astype('uint8')) #重构图像
im3

## 修改光源6
from PIL import Image  #图像处理的库
import numpy as np
a = np.array(Image.open('C:/Users/86151/mycode/fcity.jpg').convert('L'))
b=(255)*(a/255)**2  #像素平方
b = b.clip(0,255)
im3 = Image.fromarray(b.astype('uint8')) #重构图像
im3

🌍实验结果

1.问题一

2.问题

3.问题三


🌍实验体会

  1. 图像RGB色彩模式与数组表示与图像变换: 通过实验,初次了解如何利用Python使用图像的RGB色彩模式,并实现图像的数组表示与变换。在此过程中,熟悉了Python的Seaborn和Matplotlib库,使画图过程更加高效。

  2. Matplotlib画图中的问题和解决方法: 实验1记录了一些问题,例如在使用Matplotlib画图时,为了实现中文显示,需要添加语句mpl.rcParams["font.sans-serif"] = ["SimHei"],并且搭配设置正常显示符号mpl.rcParams["axes.unicode_minus"] = False,以达到更好的效果。

  3. 绘制圆柱和圆的代码添加以及加速效果的思考: 在实验2中,自行添加了画圆柱和画圆的代码。发现使用t.Turtle().screen.delay(0)虽然可以加速,但经常导致内核终止现象,因此对于加速效果的使用需要权衡利弊。


📝总结

Python领域就像一片未被勘探的信息大海,引领你勇敢踏入Python数据科学的神秘领域。这是一场独特的学习冒险,从基本概念到算法实现,逐步揭示更深层次的模式分析、匹配算法和智能模式识别的奥秘。

渴望挑战Python信息领域的技术?不妨点击下方链接,一同探讨更多Python数据科学的奇迹吧。我们推出了引领趋势的💻 Python数据科学专栏:《Python | 编程解码》,旨在深度探索Python模式匹配技术的实际应用和创新。🌐🔍

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot - Application Events 的发布顺序_ApplicationStartedEvent

文章目录 Pre概述Code源码分析 Pre Spring Boot - Application Events 的发布顺序_ApplicationEnvironmentPreparedEvent 概述 Spring Boot 的广播机制是基于观察者模式实现的,它允许在 Spring 应用程序中发布和监听事件。这种机制的主要目的是为了实现解耦&#…

linux 服务器上安装 ftp(亲测有效)

目录 1 需求2 安装 1 需求 服务器上需要安装ftp 2 安装 1 下载地址 https://developer.aliyun.com/packageSearch?wordvsftpd或者 https://rpmfind.net/linux/rpm2html/search.php?queryvsftpd2 如何判断 服务器是否安装了ftp rpm -qa | grep vsftpd出现提示则表示已安装…

什么是国密算法

国密算法是指由中国国家密码管理局发布的密码算法标准,旨在保障国家信息安全。目前,国家密码管理局已发布了一系列国产商用密码标准算法,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9以及祖冲之密码算法(ZUC)等…

thinkphp学习09-数据库的数据新增

单数据新增 使用 insert()方法可以向数据表添加一条数据,更多的字段采用默认 public function index() {$data [username > 犬夜叉,password > 123,gender > 男,email > wjl163.com,price > 999,details > 犬夜叉介绍];echo Db::name(user)-&g…

【教学类-43-18】A4最终版 20240111 数独11.0 十宫格X*Y=Z套(n=10),套用没有分割行列的A4横版模板

作品展示: 撑满格子的10宫格数独50%难度 50空 背景需求: 大4班有3位男孩做9宫格数独(81格子,30%难度 24空)非常娴熟,我观察他们基本都在10分钟内完成,其中一位男孩把九宫格题目给我看时表达自…

android 13.0 Launcher3长按app弹窗设置为圆角背景功能实现二

1.前言 在13.0的系统ROM定制化开发中,在进行一些Launcher3的定制化开发中,在使用app的弹窗的功能时,会弹出应用信息和 微件之类的内容,所以在定制需求中,需要默认设置为圆角背景,接下来就来分析下相关功能的实现如图: 2.Launcher3长按app弹窗设置为圆角背景功能实现二的…

【目标检测】评价指标:混淆矩阵概念及其计算方法(yolo源码)

本篇文章首先介绍目标检测任务中的评价指标混淆矩阵的概念,然后介绍其在yolo源码中的实现方法。 目标检测中的评价指标: mAP概念及其计算方法(yolo源码/pycocotools) 混淆矩阵概念及其计算方法(yolo源码) 本文目录 1 概念2 计算方法 1 概念 在分类任务中…

rime中州韵小狼毫 汉语拼音输入方案

在word中,我们可以轻易的给汉字加上拼音,如下👇: 但是,如何单独的输入拼音呢?例如输入 pīn yīn, 再如 zhōng guō。今天我们分享一个使用rime中州韵小狼毫须鼠管输入法配置的输入汉语拼音的输入方案。功…

WPS - 表格虚线变成实线解决方案(Office 同上)

1、选中表格区域,在表格中选中需要调整为实线的表格区域 2、点击设置单元格格式,鼠标进行右击并点击设置单元格格式选项 3、选择实线,在单元格格式下的边框,调整到实线 4、设置为实线,即可将表格的虚线设置为实线

(ros2)gazebo颜色设置

在gazebo当中不用再设置颜色了&#xff0c;因为完全可以使用urdf的设置 <robot name"base" xmlns:xacro"http://wiki.ros.org/wiki/xacro"><xacro:property name"PI" value"3.1415926"/><!--定义一个变量PI&#xff0…

研发日记,Matlab/Simulink避坑指南(三)——向上取整Bug

文章目录 前言 背景 问题 排查 解决 总结 前言 见《研发日记&#xff0c;Matlab/Simulink避坑指南&#xff08;一&#xff09;——Data Store Memory模块执行时序Bug》 见《研发日记&#xff0c;Matlab/Simulink避坑指南(二)——非对称数据溢出Bug》 背景 在一个嵌入式软…

vi/vim 编辑器 --基本命令

1 vi/vim编辑器介绍 vi 是visual interface 的简称&#xff0c;是Linux中最经典的文本编辑器 vim是vi的加强版。兼容了vi的所有指令&#xff0c;不仅能编辑文本&#xff0c;而且具有shell程序编辑的功能&#xff0c;可以通过不同颜色的字体辨别语法的正确性&#xff0c;极大…

七麦数据js逆向(补环境版)

本文目标地址如下&#xff0c;使用base64解码获得 aHR0cHM6Ly93d3cucWltYWkuY24vcmFuay9tYXJrZXRSYW5rL21hcmtldC82L2NhdGVnb3J5LzUvY29sbGVjdGlvbi9hbGwvZGF0ZS8yMDI0LTAxLTEy 本文逆向破解分为扣代码版和补环境版&#xff0c;扣代码版请看专栏另一篇文章 废话不多说了&#…

Docker 安装以及加速器配置

通常我们因为安装docker出现许多错误&#xff0c;使用解压版安装方便快捷&#xff0c;并且增加加速器的配置&#xff0c;以及可视化界面的配置&#xff0c;让我们的成长更近了一步 1. 虚拟机网络配置 虚拟机使用nat模式&#xff0c;配置ens33如下&#xff1a; TYPEEthernet P…

15 个适用于 Windows 的 PDF 解锁工具大全

PDF&#xff08;便携式文件格式&#xff09;是一种文件格式&#xff0c;用于呈现和交换任何独立于任何软件、硬件或操作系统的可靠访问的文档。Adobe 发明了它&#xff0c;但现在它是由国际标准化组织 (ISO) 维护的开放标准。因此&#xff0c;您现在必须了解这些 PDF 解锁工具。…

微软等开源评估ChatGPT、Phi、Llma等,统一测试平台

微软亚洲研究院、中国科学院自动化研究所、中国科学技术大学和卡内基梅隆大学联合开源了&#xff0c;用于评估、分析大语言模型的统一测试平台——PromptBench。 Prompt Bench支持目前主流的开源、闭源大语言模型&#xff0c;例如&#xff0c;ChatGPT、GPT-4、Phi、Llma1/2、G…

PagedAttention: from interface to kernal

1 Overview PagedAttention灵感来自于操作系统中虚拟内存和分页的经典思想&#xff0c;它可以允许在非连续空间立存储连续的KV张量。具体来说&#xff0c;PagedAttention把每个序列的KV缓存进行了分块&#xff0c;每个块包含固定长度的token&#xff0c;而在计算attention时可…

Fabric2.2:在有系统通道的情况下搭建应用通道

写在最前 在使用Fabric-SDK-Go1.0.0操作Fabric网络时遇到了bug。Fabric-SDK-GO的当前版本没有办法在没有系统通道的情况下创建应用通道&#xff0c;而Fabric的最新几个版本允许在没有系统通道的情况下搭建应用通道。为了解决这个矛盾并使用Fabric-SDK-GO完成后续的项目开发&…

谷歌aab包在Android 14闪退而apk没问题(targetsdk 34)

问题原因 Unity应用(target SDK 34)上线到GooglePlay&#xff0c;有用户反馈fold5设备上&#xff08;Android14系统&#xff09;疯狂闪退&#xff0c;经测试&#xff0c;在小米手机Android14系统的版本复现成功了&#xff0c;奇怪的是apk直接安装没问题&#xff0c;而打包成aa…

MacOS环境下Kali Linux安装及使用指导

Kali Linux是一个开源的、基于Debian的Linux发行版&#xff0c;面向各种信息安全任务&#xff0c;如渗透测试、安全研究、计算机取证和逆向工程&#xff0c;是最先进的渗透测试发行版&#xff0c;它的前身是BackTrack。 1. 我们为什么要用Kali Linux 由于Kali Linux具有以下特…