主要通过获取本地的一张图片,分析图片每一像素点的RGB值,由此获得每一像素点的灰度值,并对这些灰度值进行熵的计算。
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class ImageTest {
public static void main(String args[]) {
new MyFrame();
}
}
class MyFrame extends JFrame{
JPanel panel = null;
JLabel label = null;
JPanel panel2 = null;
JLabel label2 = null;
public MyFrame(){
super("测试图片灰度值的熵值");
this.setBounds(400,100, 400, 400);
this.setBackground(Color.gray);

该博客介绍了如何通过Java获取本地图片的每个像素点RGB值,并计算灰度值。作者探讨了在Java中处理RGB值时可能出现的偏差问题,并分享了解决这一问题的方法,即使用Raster来读取图像像素,确保处理32位图像时考虑Alpha通道,以提高精度。
最低0.47元/天 解锁文章
1万+





