Java BuffereImage内核卷积不做任何事情
我试图使用Java BuffereImage内核卷积不做任何事情,java,image-processing,bufferedimage,Java,Image Processing,Bufferedimage,我试图使用java.awt.image中的BufferedImageOp包对映像执行基本的内核卷积传递。这是我的代码: buffereImage img=null; 文件f=null; //读取图像 试一试{ f=新文件(“keys.JPG”); img=图像读取(f); }捕获(IOE异常){ 系统输出打印ln(e); } 浮点[]高斯={ 1/16楼、1/8楼、1/16楼、, 1/8楼、1/4楼、1/8楼、, 1/16楼、1/8楼、1/16楼、, }; BufferedImageOp=新卷积
java.awt.image
中的BufferedImageOp
包对映像执行基本的内核卷积传递。这是我的代码:
buffereImage img=null;
文件f=null;
//读取图像
试一试{
f=新文件(“keys.JPG”);
img=图像读取(f);
}捕获(IOE异常){
系统输出打印ln(e);
}
浮点[]高斯={
1/16楼、1/8楼、1/16楼、,
1/8楼、1/4楼、1/8楼、,
1/16楼、1/8楼、1/16楼、,
};
BufferedImageOp=新卷积运算(新核(3,3,高斯));
BuffereImage dest=op.filter(img,null);
File outputfile=新文件(“image.jpg”);
写入(dest,“jpg”,outputfile);
我的代码尝试加载图像keys.JPG
,然后使用高斯模糊核卷积此图像,并将图像保存到文件image.JPG
。当我运行代码时,它会处理一段时间,然后终止并成功保存图像,但当我比较原始图像和新图像时,它们是相同的
在线查看一些代码示例,我的代码应该可以工作。我错过什么了吗
谢谢,正如@haraldK所提到的,我的图像太大了,没有注意到任何差异。代码按预期工作。我刚刚编译并运行了您的代码,它适合我。也许效果没有你想象的那么明显?您的输入图像是否太模糊?或者太大,这样当你看到缩小的图像时,你就看不到区别了?谢谢你的关注!你的图像有多大尺寸?对不起。不记得了。我刚用了一个400x400左右,你说得对!我使用的图像分辨率太大,无法注意到差异。谢谢