图像处理

您所在的位置:网站首页 图像处理的卷积 图像处理

图像处理

2023-09-06 21:45| 来源: 网络整理| 查看: 265

关于卷积的理论这里就不啰嗦了。最近初步学习图像处理,使用java写了点对图像进项卷积操作的代码,实验的过程中感觉颇为惊奇,原来觉得高深的图像的锐化、浮雕、边缘检测等技术,使用简单的卷积就可以轻松实现。 我首先将一副彩色的图像使用photoshop将其转换为灰度的raw格式,这简化了程序。转化后的图像如图所示: 这里写图片描述

接下来要对该图像做卷积操作,下面的类中只有一个静态方法,它能对raw格式灰度图像数据做卷积操作:

public class Convolution { public static byte[][] valide(byte[][] src,int[][] filter){ if(src[0].length{-1,-1,-1},{-1,8,-1},{-1,-1,-1}}; //边缘检测 int[][] ttt = {{-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1},{-1,-1,24,-1,-1},{-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1}}; byte [] raw = new byte[444*332]; FileInputStream in; try { in = new FileInputStream("flower444x332.raw"); in.read(raw); in.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } byte[][] image = new byte[332][444]; for(int i=0;i{-1,-1,0},{-1,0,1},{0,1,1}}; //浮雕 这里写图片描述 使用浮雕卷积核处理过后,图像明显有了浮雕的特征。 第二、强调边缘 int[][] ttt = {{1,1,1},{1,-7,1},{1,1,1}}; //强调边缘 这里写图片描述 边缘被加强了。 第三、边缘检测(3x3卷积核) int[][] ttt = {{-1,-1,-1},{-1,8,-1},{-1,-1,-1}}; //边缘检测 这里写图片描述 检测到了图像的轮廓。 第四、边缘检测(5x5卷积核) int[][] ttt = {{-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1},{-1,-1,24,-1,-1},{-1,-1,-1,-1,-1},{-1,-1,-1,-1,-1}}; 这里写图片描述

至此,感兴趣的可以自己尝试其他的卷积核。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3