图像处理项目结构分层

这是一个Java图像处理项目,通过JFrame和JButton构建UI界面,实现图片的显示和多种效果处理,包括马赛克、灰度、二值化等。项目分为UI、监听器和图像效果三个部分,使用二维数组存储图像数据,并通过监听器响应按钮事件,调用相应处理方法改变图像显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目结构:

——UI -- JFrame JButton

           -- 进行分区  按钮功能区+显示功能区

           -- JFrame  默认边框布局 -- 东南西北中五个方向              

——Listener  -- ActionListener       

——ImageEffic -- 图片文件转二维数组          各种图片处理效果

1.UI

创建类ImageUI 继承 JFrame 作为窗体类

public class ImageUI extends JFrame{

String[] jbustr = {"原图","马赛克","灰度","二值化","轮廓检测","手绘风格","油画融合"};

Static final ImageListener imageListener = new ImageListener();

int[][] imgArr;//声明一个数组

ImageEffic imgeff;

public Graphics g;

public static void main(String[] args){

        ImageUI ui = new ImageUI();

        ui.initUI();

}

public void initUI(){

this.setTitle("图形编程");

this.setSize(800,800);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

//进行分区,按钮功能区+显示功能区

//按钮功能区--流式布局

JPanel jp1 = new JPanel();

jp1.setBackground(Color.DARK_GRAY);

Dimension dim = new Dimension(120,0);

jp1.setPreferredSize(dim);

Dimension jbudim = new Dimension(110,35);

//添加按钮

for(int i=0;i<jbustrs.length;i++){

        JButton jbu = new JButton(jbustrs[i]);

        jbu.setBackground(Color.WHITE);

        jbu.setPreferredSize(btndim);

        jbu.addActionListener(imageListener);

        jp1.add(jbu);

}

//绘图区

JPanel jp2 = new JPanel();

jp2.setBackground(Color.Black);

//布置jp1和jp2的位置

add(jp1,BorderLayout.EAST);

add(jp2,BorderLayout.CENTER);

setVisible(true);

//从jp2获取画笔对象

Graphics g = jp2.getGraphics();

imageListener.g=g

}

}

2.Listener

重写抽象方法

将一幅图片加载到内存的方法是:

String path = "文件路径";

BufferedImage image = ImageIO.read(File 对象);

//BufferedImage生成的图片在内存里有一个图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值