ShanghaiTech数据集.mat可视化效果

学习记录,以供复习

# 读取MAT文件
data = scipy.io.loadmat('.\part_B_final\train_data\ground_truth\GT_IMG_1.mat')

# 打印读取的所有数据键,帮助理解结构
print("Data keys:", data.keys())

# 提取image_info字段
image_info = data['image_info']

# 打印image_info的结构,查看其嵌套内容
print("Image info structure:", image_info)

# 初始化一个列表来存储所有坐标点
locations = []

# 遍历image_info的每一个元素,提取location数据、进入第二个array分别是location和number的二维数组
for item in image_info[0,0][0]:
    # 打印当前处理的item,帮助调试
    print("Current item structure:", item)
    with open('temp.txt','w') as store_temp_file:
        store_temp_file.write('image_info[0,0][0][0]\n')
        store_temp_file.write(str(item))

        # 获取嵌套数据
    nested_array= item[0]
    print("Nested array structure:", nested_array )

    print(type(nested_array))
    #取出人头数
    item_2 = image_info[0,0][0]
    count = item_2[0][1][0][0]

    # 将嵌套数据中的每个点加入locations列表
    for point in nested_array:
        locations.append(point)

# 将提取的数据转换为numpy数组
locations = np.array(locations)

# 打印提取的数据,检查提取是否正确
print("Locations:")
print(locations)

# 获取 x 和 y 坐标
plt.figure(figsize=(10.24, 7.68))
x_coords = locations[:, 0]
y_coords = locations[:, 1]

# 读取背景图像
background_image_path = r'F:\BaiduNetdiskDownload\ShanghaiTech_Crowd_Counting_Dataset\part_B_final\train_data\images\IMG_1.jpg'  # 替换为你的背景图像路径
background_img = mpimg.imread(background_image_path)

img_height, img_width, _ = background_img.shape

# 创建绘图,设置图像大小为1024x768像素
fig, ax = plt.subplots(figsize=(10.24, 7.68))

# 显示背景图像
ax.imshow(background_img, extent=[0, img_width, img_height, 0])  # extent 确保坐标系从左上角 (0, 0) 开始

# 在背景图像上绘制坐标点
ax.scatter(x_coords, y_coords, c='r', marker='o', label='Points')
ax.text(10, 10, f'Count: {count}', color='white', fontsize=18, bbox=dict(facecolor='black', alpha=0.5))
# 设置图像标题和标签
ax.set_title('Image Info Points')
ax.set_xlabel('X Coordinate')
ax.set_ylabel('Y Coordinate')
ax.legend()
ax.grid(True)

# 保存图像到文件
plt.savefig('output_image_with_background.png', dpi=100)  # 100 DPI可以生成1024x768像素的图像

# 显示图像
plt.show()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sonar数据集.mat文件是一个用于声纳目标识别的数据集文件。声纳是一种利用声波进行探测与检测的技术,常被应用于水下目标探测、海洋勘探等领域。sonar数据集.mat文件包含了多组声纳回波信号数据,以及与这些数据对应的目标类型标签。 在声纳目标识别,通过分析声纳探测到的回波信号特征,可以判断目标的存在与类型。sonar数据集.mat文件的回波信号是通过声纳探测设备在特定环境下获取的真实数据,具有一定的噪声和复杂性。通过对这些数据进行处理和分析,可以提取出不同目标的特征信息,进而用于分类和识别。 sonar数据集.mat文件的目标类型标签是对每个回波信号数据所对应目标的标识,常用0和1两种数字表示不同的目标类别。这些标签可以作为训练和测试模型的标记,用于模型的监督学习和性能评估。 通过对sonar数据集.mat文件的应用和研究,可以帮助我们深入了解声纳目标识别技术的有效性和性能。同时,也可以为声纳领域的研究人员和工程师们提供一个实践与验证算法的场景,从而改进和优化声纳目标识别的方法和算法。 总之,sonar数据集.mat文件是一个用于声纳目标识别研究与应用的重要数据集,通过分析该数据集,可以提高我们对声纳信号的理解,进一步推动声纳技术的发展和应用。 ### 回答2: sonar数据集.mat文件是一个包含声纳信号数据的文件。声纳技术是一种利用声波在水下传播的原理,通过接收和分析返回的声波信号来获取水下目标的信息的技术。sonar数据集.mat文件存储了通过声纳技术获取的声波信号数据。 sonar数据集.mat文件通常包含两个主要的数据:声波信号数组和目标标签数组。声波信号数组包含了多个声波信号的数据,每个声波信号对应一个特定的时间段内接收到的声波信号。这些声波信号可以表示为一维数组或矩阵,其每个元素表示声波信号的强度或振幅。 目标标签数组是一个与声波信号数组相对应的数组,用于表示每个声波信号所对应的水下目标的类别或属性信息。每个目标标签对应一个声波信号,可以是字符串或数字,用于标识该声波信号所对应的目标类型。 使用sonar数据集.mat文件可以进行各种信号处理和目标识别的分析和研究。通过分析声波信号的强度和频率等特征,可以提取出目标的关键信息,如目标的位置、形状和大小等。同时,通过对目标标签的分析,可以对不同类型的水下目标进行分类和识别。 sonar数据集.mat文件是声纳技术研究和应用常用的数据集之一,可以被广泛应用于海洋勘探、水下目标探测与识别等领域的研究和实践。通过对该数据集的分析,可以帮助人们更好地理解水下环境和水下目标的特性,从而提升声纳技术的应用水平和效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值