java - 如何使用java检查运行时我的应用程序中的图像(16位,灰度)是否有任何变化?

标签 java image swing

我正在使用 Java Swing 制作桌面应用程序。

在我的应用程序中,我对 16 位灰度和 tiff 图像进行了一些图像处理。

在我的应用程序中,用户可以通过将图像拖放到 JDesktopPane 中来打开树中的图像。

现在,当用户对图像进行一些处理(例如删除噪音或设置对比度)时,当他们关闭图像时,我的应用程序应该询问他们是否要保存图像中的更改?

那么我如何检查原始图像中某些变化的运行时间?

最佳答案

BufferedImage 中包含的 java.awt.image.Raster 不会覆盖 Object#equals() >。这主要是因为迭代 w * h 像素的成本可能会很高:O(wh)。任何优化都取决于更改的性质。如果您只是寻找全局变化,例如噪声或对比度,则比较多个样本可能就足够了。您还需要 profile您的预期用途。

关于java - 如何使用java检查运行时我的应用程序中的图像(16位,灰度)是否有任何变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13619013/

相关文章:

java - Eclipse 不会加载我的 javadocs

java - 大图标位图在通知中显示为白色方 block ?

html - 如何保持背景图像质量清晰?

java - 在 Java 中更新单行数据库

java - 使用 DefaultListModel 从 ArrayList 添加项目到 JList

java - 声明到 Spring MVC 应用程序的 web.xml 中的 Spring Security 过滤器到底如何工作?

java - Eclipse插件开发: How to access the default editor?

jQuery/CSS 全局悬停而不是每个元素

image - 在 AngularJS 中使用包含 base64 数据的变量加载图像 src

java - 当用户尝试关闭窗口按钮时,如何检查文件是否已保存?