1066 图像过滤 (15 分)

简介: 图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。

图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。


输入格式:

输入在第一行给出一幅图像的分辨率,即两个正整数 M 和 N(0<M,N≤500),另外是待过滤的灰度值区间端点 A 和 B(0≤A<B≤255)、以及指定的替换灰度值。随后 M 行,每行给出 N 个像素点的灰度值,其间以空格分隔。所有灰度值都在 [0, 255] 区间内。


输出格式:

输出按要求过滤后的图像。即输出 M 行,每行 N 个像素灰度值,每个灰度值占 3 位(例如黑色要显示为 000),其间以一个空格分隔。行首尾不得有多余空格。


输入样例:

1. 3 5 100 150 0
2. 3 189 254 101 119
3. 150 233 151 99 100
4. 88 123 149 0 255

结尾无空行


输出样例:

1. 003 189 254 000 000
2. 000 233 151 099 000
3. 088 000 000 000 255

结尾无空行

问题点:

1.数组大小要大于500(501)

2.printf("%03d",s[i][j]);(用0填充)

3.输出“ ”和“\n”

代码如下:


C语言:


#include <stdio.h>
int main() {
  int s[501][501];
  int m, n, a, b, t;
  scanf("%d%d%d%d%d", &m, &n, &a, &b, &t);
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      scanf("%d", &s[i][j]);
      if (s[i][j] >= a && s[i][j] <= b)
        s[i][j] = t;
    }
  }
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      if (j < n - 1)
        printf("%03d ", s[i][j]);
      else
        printf("%03d", s[i][j]);
    }
    if (i < m - 1)
      printf("\n");
  }
  return 0;
}

C++:


#include <iostream>
using namespace std;
int main() {
  int s[501][501];
  int m, n, a, b, t;
  cin >> m >> n >> a >> b >> t;
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      cin >> s[i][j];
      if (s[i][j] >= a && s[i][j] <= b)
        s[i][j] = t;
    }
  }
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n; j++) {
      if (j < n - 1)
        printf("%03d ", s[i][j]);
      else
        printf("%03d", s[i][j]);
    }
    if (i < m - 1)
      cout << endl;
  }
  return 0;
}

成功解题

相关文章
|
27天前
单细胞分析|映射和注释查询数据集
单细胞分析|映射和注释查询数据集
27 3
|
7月前
|
机器学习/深度学习 监控 TensorFlow
数据分割
在机器学习和数据分析中,数据分割是指将可用数据集划分为训练集、验证集和测试集等子集的过程。这种分割的目的是为了评估和验证机器学习模型的性能,并对其进行调优和泛化能力的评估。下面我将解释为什么要进行数据分割,以及如何进行数据分割,并提供一个简单的示例。
158 0
|
5天前
多重比较示例:Bonferroni校正法和Benjamini & Hochberg法
多重比较示例:Bonferroni校正法和Benjamini & Hochberg法
12 1
|
3月前
|
Serverless
统计问题|绘制任意分布的 QQ 图
统计问题|绘制任意分布的 QQ 图
47 1
|
8月前
|
JSON 算法 数据格式
优化cv2.findContours()函数提取的目标边界点,使语义分割进行远监督辅助标注
可以看到cv2.findContours()函数可以将目标的所有边界点都进行导出来,但是他的点存在一个问题,太过密集,如果我们想将语义分割的结果重新导出成labelme格式的json文件进行修正时,这就会存在点太密集没有办法进行修改,这里展示一个示例:没有对导出的结果进行修正,在labelme中的效果图。
84 0
|
9月前
|
数据挖掘
ENVI:分类后处理_小斑块去除_Majority/Minority处理、聚类处理、过滤处理等
ENVI:分类后处理_小斑块去除_Majority/Minority处理、聚类处理、过滤处理等
664 0
|
10月前
|
数据挖掘
基于R筛选过滤低丰度物种的几种方式
基于R筛选过滤低丰度物种的几种方式
260 0
|
10月前
|
算法 数据挖掘
scanpy数据整合批次效应去除原理
scanpy数据整合批次效应去除原理
|
11月前
|
算法 固态存储
分别使用SAD匹配,NCC匹配,SSD匹配三种算法提取双目图像的深度信息
分别使用SAD匹配,NCC匹配,SSD匹配三种算法提取双目图像的深度信息
111 0
分别使用SAD匹配,NCC匹配,SSD匹配三种算法提取双目图像的深度信息
|
文字识别
【数图大作业】基于模板匹配的文字识别(二)(文字行列分割)
【数图大作业】基于模板匹配的文字识别(二)(文字行列分割)
【数图大作业】基于模板匹配的文字识别(二)(文字行列分割)