人工智能网络赛题训练(一)

.Vaidurya. 2024-10-15 13:31:05 阅读 68

今天学习2023年人工智能网络赛赛题

赛题一共有五个部分,8个任务。

任务一:人工智能基础环境搭建部署

在CentOS里面搭建环境,我打开VM新建一个CentOS系统发现我的客户机操作系统CPU被禁用了,然后在csdn里面查找解决办法在这里面寻找解决办法http://t.csdnimg.cn/rMcGl(也找了其他博主的文章)但是并没有解决问题,后来,我同学告诉我CentOS版本有问题,我又重新下载了一个2009年版本的镜像,这次安装成功了,然后我将Anacond环境拖了进去,目前还在配置环境中,下面的代码是我在Windows系统上PyCham中运行的。

 安装成功路

 正在读入Anacond环境

 

任务二:数据集加载及预处理

现将给定的数据集导入pycham中

然后开始编写代码

导入我们所需要的库pandas库负责数据的处理,re库负责正则表达式操作(正则表达大概就是字符串匹配、搜索替换、数据验证)

<code>import pandas as pd

import re

第一步现将数据集导入进去

data = pd.read_csv("D:\人工智能/2023省赛-网络赛-高职组\data/task2/task2.csv", dtype={'column_name': str}, low_memory=False)

第二步 统计非字母组合代码的样本个数

non_alpha_count = sum(1 for code in data['WORK_PROVINCE'] if not re.match('^[a-zA-Z]+$', str(code)))

print("非字母组合代码的样本个数:", non_alpha_count)

 首先使用列表推导式遍历 data['WORK_PROVINCE']中的每个元素,然后使用正则表达式re.math('^[a-zA-Z]+$',str(code))检查每个元素是否只包含字母,如果不是,就将其计数为1。最后,用sum()函数将所有计数相加,得到非字母组合代码的总数,并将其打印出来。

第三步 计算AVG_FLIGHT_COUNT列最大的20个数值的平均值

top_20_avg_flight_count = data['AVG_FLIGHT_COUNT'].nlargest(20).mean()

print("AVG_FLIGHT_COUNT列最大的20个数值的平均值:", top_20_avg_flight_count)

首先,使用nlargest(20)方法获取AVG_FLIGHT_COUNT列中最大的20个数值,然后使用mean()方法计算这些数值的平均值。最后,将结果打印出来.

任务三按照要求使用python编程对给定图片数据进行处理

第一步:先导入我们所需要的库

import cv2

import numpy as np

第二步:导入图片并将尺寸调整为宽650,高360的图片,在一步卡了很久,因为不管是在相对路径下还是绝对路径下图片都不能正常的读入,后来查找资料发现将图片放在全英文的文件夹中文件才能正常读取,所以我就把图片位置换到全英文的文件夹中

img = cv2.imread('D:/abcd/task3.jpg')

img_resized = cv2.resize(img, (650, 360))

第三步:将图片按列均分为2 等份然后截取右部分子区域作为新图像

img1 = img_resized[:, img_resized.shape[1]//2:]

第四步:将图片转换到YCrCb颜色空间并创建一个和img1_ycrcb同样尺寸的全黑图像命名为img3然后再遍历img1_ycrcb,记录其Cr分量在133至173之间,Cb分量在77至127之间的像素位,(遍历这个图片的每个像素的颜色值,并根据Cr和Cb分量来决定是否将对应位置的全黑图像像素值置为白色,这样做是对图像进行特定的颜色过滤或处理,例如提取特定颜色的区域或者进行图像分割等操作。)将img3对应像素位置的像素值置为白色

img1_ycrcb = cv2.cvtColor(img1, cv2.COLOR_BGR2YCrCb)

img3 = np.zeros_like(img1_ycrcb)

for i in range(img1_ycrcb.shape[0]):

for j in range(img1_ycrcb.shape[1]):

if 133 <= img1_ycrcb[i, j, 1] <= 173 and 77 <= img1_ycrcb[i, j, 2] <= 127:

img3[i, j] = [255, 255, 255]

最后一步:显示img1和处理之后的img3,接下来就是把处理好的图片展示出来

# 显示img1和处理之后的img3

cv2.imshow('img1', img1)

cv2.imshow('img3', img3)

cv2.waitKey(0)

cv2.destroyAllWindows()



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。