今天学习2023年人工智能网络赛赛题
赛题一共有五个部分,8个任务。
任务一:人工智能基础环境搭建部署
在CentOS里面搭建环境,我打开VM新建一个CentOS系统发现我的客户机操作系统CPU被禁用了,然后在csdn里面查找解决办法在这里面寻找解决办法http://t.csdnimg.cn/rMcGl(也找了其他博主的文章)但是并没有解决问题,后来,我同学告诉我CentOS版本有问题,我又重新下载了一个2009年版本的镜像,这次安装成功了,然后我将Anacond环境拖了进去,目前还在配置环境中,下面的代码是我在Windows系统上PyCham中运行的。
安装成功路
正在读入Anacond环境
任务二:数据集加载及预处理
现将给定的数据集导入pycham中
然后开始编写代码
导入我们所需要的库pandas库负责数据的处理,re库负责正则表达式操作(正则表达大概就是字符串匹配、搜索替换、数据验证)
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()