IOI 2013中的第二个问题是:
您的艺术史考试即将来临,但您在学校的信息学比在艺术课上更受关注!您需要编写一个程序来为您参加考试.
考试将包括几幅画.每幅画都是四种独特风格之一的例子,编号为1,2,3和4.风格1包含赘生性的现代艺术.风格2包含印象派风景.Style 3包含表现主义动作画.风格4包含色场绘画.
在给定绘画的数字图像的情况下,您的任务是确定绘画所属的样式.
图像将作为H×W像素网格给出.图像的行从上到下编号为0,...,(H 1),并且列从左到右编号为0,...,W 1.使用二维阵列R,G和B描述像素,其分别在图像的每个像素中给出红色,绿色和蓝色的量.这些量的范围从0(无红色,绿色或蓝色)到255(红色,绿色或蓝色的最大量).
实现 您应该提交一个实现函数样式()的文件,如下所示:
Run Code Online (Sandbox Code Playgroud)int style(int H, int W, int R[500][500], int G[500][500], int B[500][500]);此功能应确定图像的样式.参数是:
- H:图像中像素的行数.
- W:图像中像素的列数.
- R:尺寸为H×W的二维阵列,给出图像的每个像素中的红色量.
- G:尺寸为H×W的二维阵列,给出图像的每个像素中的绿色量.
- B:尺寸为H×W的二维阵列,给出图像的每个像素中的蓝色量.
示例图片在问题PDF中
我不想要一个现成的程序.让我开始的一两个提示会很好,因为我无能为力可能会解决这个问题.
The*_*ist 14
由于您提供了RGB格式的图像数据,因此首先在YUV中准备相同图像数据的副本.这是必不可少的,因为一些图像特征在Luma(Y)和Chroma(U,V)图中很容易识别模式.
根据提供的样本,以下是每种"艺术风格"的一些显着特征:




只要输入图像属于这些类中的一个,就可以通过运行图像数据来识别上述特征,从而在分类中没有任何问题.
基本上它归结为以下代码流:
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |