小d和图片压缩

阅读: 评论:0

小d和图片压缩

小d和图片压缩

小d和图片压缩

题目描述 :
小d和她对象小红去海洋馆玩了,但是由于小d拍照技术不好,他对象说把她拍的像嘎子!

小d看了看,发现是小红最近长痘痘了,于是他为了讨小红开心,让痘痘看不见,自学了图像压缩这个技术。毕竟这个比磨皮和修图要好学多了。

这个技术是什么样子的呢?就是将相邻的四个像素点的数值求和取平均数。

因为他是速成的,因此他只能把图像缩小为原来的四分之一。

请你帮助他完成图像压缩吧!这对他很重要。


方法:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = Int(); // 图片长度int m = Int(); // 图片宽度// 像素值数组(注意二维数组行和列的习惯)int[][] pixels = new int[n][m];for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {// 输入像素值pixels[i][j] = Int();}}// 创建新的空白图片int compressed_n = n / 2;int compressed_m = m / 2;int[][] compressedPixels = new int[compressed_n][compressed_m];// 遍历压缩后的每个像素点,累加四个相邻像素点的灰度值,计算平均值并赋值给新像素点for (int i = 0; i < compressed_n; i++) {for (int j = 0; j < compressed_m; j++) {int sum = 0;sum += pixels[i * 2][j * 2];sum += pixels[i * 2 + 1][j * 2];sum += pixels[i * 2][j * 2 + 1];sum += pixels[i * 2 + 1][j * 2 + 1];// 计算平均值,并向下取整compressedPixels[i][j] = sum / 4;}}// 输出压缩后的像素值for (int i = 0; i < compressed_n; i++) {for (int j = 0; j < compressed_m; j++) {System.out.print(compressedPixels[i][j] + " ");}System.out.println();}}
}

本文发布于:2024-02-08 19:59:52,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170739378868611.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:图片
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23