首页 > 编程语言 >NOI / 1.8编程基础之多维数组

NOI / 1.8编程基础之多维数组

时间:2023-05-07 19:45:49浏览次数:43  
标签:NOI 1.8 50 整数 灰度 图像 多维 100 像素点

13:图像模糊处理

 1.描述

给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:

1. 四周最外侧的像素点灰度值不变;

2. 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。

2.输入

第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。
接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。

3.输出

  n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开

4. 样例输入

4 5
100 0 100 0 50
50 100 200 0 0
50 50 100 100 200
100 100 50 50 100

5.样例输出

100 0 100 0 50
50 80 100 60 0
50 80 100 90 200
100 100 50 50 100

6.题意

 模糊化处理给定n行m列的图像各像素点的灰度值

7.思路

四周最外侧的像素点直接输出,中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均。

8.代码实现

#include<bits/stdc++.h>
using namespace std;
int main(){
	int m,n,j=0,i;
	double sum=0;
	double a[105][105];
	cin>>m>>n;
	for(i=1;i<=m;i++){
		for(j=1;j<=n;j++){
			cin>>a[i][j];//四周最外侧的像素点直接输出
		}
	}
	for(i=1;i<=m;i++){
			for(j=1;j<=n;j++){
				if(i==1||j==1||i==m||j==n){
					cout<<a[i][j]<<" ";
				}
		 		else{
					sum=(a[i][j]+a[i-1][j]+a[i+1][j]+a[i][j+1]+a[i][j-1])/5;//中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均
					cout<<int(sum+0.5)<<" ";//舍入到最接近的整数	
				}
			}
		cout<<endl;
	}
	return 0;
}

 

标签:NOI,1.8,50,整数,灰度,图像,多维,100,像素点
From: https://www.cnblogs.com/shi66/p/17379903.html

相关文章

  • JDK1.8新特性(七):默认方法,真香,开动!接口?我要升级!!
    前期回顾:JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢JDK1.8新特性(二):为什么要关注JDK1.8JDK1.8新特性(三):Lambda表达式,让你爱不释手JDK1.8新特性(四):函数式接口JDK1.8新特性(五):Stream,集合操作利器,让你好用到飞起来JDK1.8新特性(六):Stream的终极操作,轻松解决集合分组、汇总等复杂......
  • linux安装jdk1.8
    为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。环境:centos7.6ssh连接工具:tabby(自从用了这个工具,我再也不用xshell了,这个工具自带文件上传,还有网页版)创建目录mkdir/opt/jdk把jdk的压缩包上传到/opt/jdk目录下......
  • 「回忆录」NOIP2022游寄
    都已经过去半年了才来更的屑距离CSP还有一周左右的时间,我们停课了,然后来了东校。Al:“为了庆祝我们在一起学习,下午我们考试!”???好像就呆了\(1\)天半,因为疫情,我们要提前出发去日照,然后中午家长们紧急把东西送来,Al跑回一区把ycc和zxs接来,三区的wxf和fjh下午也来了,然......
  • 全国信息学奥林匹克联赛(NOIP2011)复赛提高组day2
    一、计算系数首先对题目多项式进行简化分析(x+y)2=x2+2xy+y2(x+y)3=x3+3x2y+3xy2+y2(x+y)4=x4+4x3y+6x2y2+4xy3+y4不难发现它们的系数组成了一个杨辉三角111121133114641……进一步带入则可得(ax+by)2=a2x2+2abxy+b2y2(ax+by)3=a3x3+3a2bx2y+3ab2xy2+b3y3......
  • JDK1.8新特性(二):为什么要关注JDK1.8
    前期回顾:JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢自1996年JDK1.0(Java1.0)发布以来,Java已经受到了学生、程序员、整个软件行业人员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小的项目里。从Java1.1(1997年)一直到Java7(2011年),Java通过增加新功能,不断得到良好的升级......
  • P4211 [LNOI2014]LCA
    \(\color{purple}\text{P4211[LNOI2014]LCA}\)解题方法可以发现一个结论:两个点到根节点的重合路径的长度即为他们\(LCA\)的深度。所以我们把\([l,r]\)之间的点到根节点路径上各加一,再查询\(z\)到根节点的路径的值之和即为\(\sum_{i=l}^{r}\text{dep}[\text{LCA}(i,z)]\)......
  • 「NOIP2008」笨小猴
    笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质......
  • [NOIP2017 普及组] 跳房子
    这是一道很复杂有趣的题目题目描述跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一。跳房子的游戏规则如下:在地面上确定一个起点,然后在起点右侧画 n 个格子,这些格子都在同一条直线上。每个格子内有一个数字(整数),表示到达这个格子能得到的分数。玩家......
  • 23.5.2 NOIP2011 Day1提高游记
    今天做的比较得愉快快呢,除了第三题hh1.铺地毯这题我不做太多评价,纯纯的一道大水题。注意遍历数据的时候倒着遍历,还有就是不能用二维数组,会MLE。code:1#include<bits/stdc++.h>2#defineN100053usingnamespacestd;4inta[N],b[N],g[N],k[N];5inlinelongl......
  • linux安装jdk1.8
    为防止操作权限不足,建议切换root用户,当然如果你对Linux命令熟悉,能够自主完成权限更新操作,可以不考虑此推荐。环境:centos7.6ssh连接工具:tabby(自从用了这个工具,我再也不用xshell了,这个工具自带文件上传,还有网页版)创建目录mkdir/opt/jdk把jdk的压缩包上传到/opt/jdk......