试题背景

顿顿在学习了数字图像处理后,想要对手上的一副灰度图像进行降噪处理。不过该图像仅在较暗区域有很多噪点,如果贸然对全图进行降噪,会在抹去噪点的同时也模糊了原有图像。因此顿顿打算先使用邻域均值来判断一个像素是否处于较暗区域,然后仅对处于较暗区域的像素进行降噪处理。

问题描述

待处理的灰度图像长宽皆为 个像素,可以表示为一个 大小的矩阵 ,其中每个元素是一个 范围内的整数,表示对应位置像素的灰度值。
对于矩阵中任意一个元素 (),其邻域定义为附近若干元素的集和:

这里使用了一个额外的参数 来指明 附近元素的具体范围。根据定义,易知 最多有 个元素。

如果元素 邻域中所有元素的平均值小于或等于一个给定的阈值 ,我们就认为该元素对应位置的像素处于较暗区域。
下图给出了两个例子,左侧图像的较暗区域在右侧图像中展示为黑色,其余区域展示为白色。

example.jpg

现给定邻域参数 和阈值 ,试统计输入灰度图像中有多少像素处于较暗区域。

输入格式

输入共 行。

输入的第一行包含四个用空格分隔的正整数 、、 和 ,含义如前文所述。

第二到第 行输入矩阵 。
第 ()行包含用空格分隔的 个整数,依次为 。

输出格式

输出一个整数,表示输入灰度图像中处于较暗区域的像素总数。

样例输入

4 16 1 6
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15

Data

样例输出

7

Data

样例输入

11 8 2 2
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 7 0 0 0 7 0 0 7 7 0
7 0 7 0 7 0 7 0 7 0 7
7 0 0 0 7 0 0 0 7 0 7
7 0 0 0 0 7 0 0 7 7 0
7 0 0 0 0 0 7 0 7 0 0
7 0 7 0 7 0 7 0 7 0 0
0 7 0 0 0 7 0 0 7 0 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0

Data

样例输出

83

Data
评测用例规模与约定
的测试数据满足 、。

全部的测试数据满足 、 且 。

源码

#include<stdio.h>
#include<stdlib.h>
#include<vector>
#include<iostream>
using namespace std;
#pragma warning(disable:4996)//优化思路:每一行的第一个元素执行一次完整的邻域计算,对于之后的n - 1个元素,
//利用前一个元素的邻域进行计算。如此,执行时间大大降低,成功通过所有测试用例。int main()
{int n, L, r, t;scanf("%d %d %d %d", &n, &L, &r, &t);//声明二维数组vector<vector<int>> A(n);for (int i = 0; i < n; i++){A[i].resize(n);//列}//输入矩阵int NUM = 0;for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {scanf("%d", &A[i][j]);}}for (int i = 0; i < n; i++) {//行循环int sum = 0, num = 0;for (int j = 0; j < n; j++) {//列循环if (j == 0) {//求每行第一个元素的邻域for (int x = i - r; x <= i + r; x++) {if (x >= 0 && x < n) {for (int y = j - r; y <= j + r; y++) {if (y >= 0 && y < n) {sum += A[x][y];num++;}}}}if (sum <= num * t) {NUM++;}}else {//用此行第一个元素的邻域求剩余元素的邻域for (int x = i - r; x <= i + r; x++) {if (x >= 0 && x < n) {int y1 = j - r - 1, y2 = j + r;if (y1 >= 0) {sum -= A[x][y1];num--;}if (y2 < n) {sum += A[x][y2];num++;}}}if (sum <= num * t) {NUM++;}}}}printf("%d", NUM);return 0;
}

202104-2 邻域均值相关推荐

  1. CCF202104-2 邻域均值

    题目选自CCF2020104-2 问题分析:按照题意处理即可.需要注意处理时间,如果没有合适处理则有可能得不了满分100分.所以需要使用前缀和,或者使用二维前缀和来实现. 题记:前缀和用于n次不同的数 ...

  2. 邻域均值 (python)

    试题背景 顿顿在学习了数字图像处理后,想要对手上的一副灰度图像进行降噪处理.不过该图像仅在较暗区域有很多噪点,如果贸然对全图进行降噪,会在抹去噪点的同时也模糊了原有图像.因此顿顿打算先使用邻域均值来判 ...

  3. 2021-08-08 CFF-CSP 邻域均值 C和C++混写

    2021-08-08 CFF-CSP 邻域均值 C语言实现 前言 本次实验所用设备为微软Surface pro4,操作系统为windows10. 注意事项 (1)CFF-CSP考试提交一定要使用C++ ...

  4. CCF 202104 Python

    202104-1 灰度直方图 题目链接 http://118.190.20.162/view.page?gpid=T128 代码 n,m,l = map(int,input().split()) re ...

  5. CCF历年真题整理【已更新至202104】

    说明:本文持续更新,若长时间未更新,请评论催催我. 以下题目均来自cspro.org,点击进入测试页面,侵删歉. 部分题目我已经解决,并给出参考代码.然而有些我还没有尝试解决,但先把题目贴给大家,大家 ...

  6. win10+Python3.7.3+OpenCV3.4.1入门学习(七)————7.1均值滤波(上)

    Python版本是Python3.7.3,OpenCV版本OpenCV.3.4.1,开发环境为PyCharm 均值滤波是指用当前像素点周围N·N个像素值的均值来代替当前像素值.使用该方法遍历处理图像内 ...

  7. 均值滤波原理及matlab实现代码

    一.基本原理 噪声点像素的灰度与其邻域内像素的灰度显著不同,根据噪声点的这一特性,可以使用邻域均值滤波来降低噪声. 利用一个大小为m×n的模板对一幅大小为M×N的图像进行均值滤波可以表示为如下公式,其 ...

  8. 空间滤波-均值滤波器

    目录 1. 介绍 2. 邻域均值滤波器 2.1 cv2.blur 函数 2.2 cv2.filter2D 函数 3. 加权平均滤波器 1. 介绍 空域变换包含灰度变换和空间滤波 灰度变换是通过点对点的 ...

  9. ccf-csp历年满分题解 + 总结汇总(已完成55题,持续更新中...)

    2013-12     出现次数最多的数     ISBN号码     最大的矩形     有趣的数     I'm stuck! 2014-03     相反数     窗口     命令行选项   ...

最新文章

  1. 跨链Cosmos(2) Cosmos系统框架
  2. 在线学ajax,ajax学习
  3. Python----进程之间共享数据(全局变量)
  4. Ext核心代码分析之Function.createDelegate
  5. 1036: 谭浩强C语言(第三版)习题1.6
  6. 软件工程经济学课程报告
  7. dingo php,Laravel+Dingo/Api 自定义响应 | 码农网
  8. 如何查看网络计算机ip,怎么查ip地址 如何查看(局域网/互联网)本机ip地址
  9. 一文了解美团团节社等及分佣机制
  10. 参加最牛逼的运营人年终聚会,是种什么样的体验
  11. 洛谷P2664 树上游戏 【点分治 + 差分】
  12. 总结:Web3用户体验的四个层
  13. 提交BlackBerry App World时候填写的SKU是什么?
  14. C语言学习-调用自定义函数
  15. 计算机网络/谢希仁(第八版)第三章习题
  16. 用Html+css写一个渐变背景的个人名片
  17. Python——迷宫生成和迷宫破解算法
  18. 【案例】云卷云舒,ArcGIS成就时空交错的新闻播报
  19. 睢宁微服务平台下载_掌上睢宁app下载-掌上睢宁官方版下载v1.0-飞飞世界
  20. ZigBee 3.0理论教程-通用-1-04:协议与架构-媒体访问控制层(MAC)

热门文章

  1. MySQL8版本 Win10忘记密码
  2. python nlp 句子提取_自然语言16.1_Python自然语言处理学习笔记之信息提取步骤分块(chunking)...
  3. Nape实现坐标旋转角度回弹
  4. 混合式学习,以学习者为中心的新型教学形式
  5. CentOS 7 安装 MariaDB 10.1
  6. npm install 安装包报错npm ERR! C:\Users\happl\AppData\Roaming\npm-cache_logs\2019-12-09T15_55_28_112Z-deb
  7. 优秀logo,最基础的设计技巧(一)
  8. 2021 CCF基于UEBA的用户上网异常行为分析baseline线上0.90
  9. php mysql可以跨站_Laravel5中防止XSS跨站攻击的方法
  10. splice和sendfile