该方法是比较基础的一种方法,大概思路是通过我们给定一个矩阵,去给我们的图片进行卷积处理,具体原理在相关博客中可以找到,这里重点介绍实现方法。
老规矩先创建窗体并初始化数据:
public void initUI(){
setTitle ("图形图像处理");
setSize (1000,1000);
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo (null);//居中显示
// 添加布局
FlowLayout flow = new FlowLayout();
setLayout (flow);
setVisible(true);
}
在处理图片时,我们可以通过把每一个像素值的rgb值分别提取出来进行处理,并且要注意,处理后的rgb值不要越界,要给一个边界限制方法。
public int[][] drawImage(int[][] karr,int[][]imagarr){
int newimagarr[][]=new int[imagarr.length][imagarr[0].length];
int w= imagarr.length- karr.length;
int h=imagarr[0].length-karr[0].length;
for(int i=0;i<w;i++){
for(int j=0;j<h;j++){
int rnr=0;