【问题标题】:Noise during print screen打印画面出现噪音
【发布时间】:2013-08-05 19:07:18
【问题描述】:

我有一个程序可以每 1 秒打印一次屏幕截图,但是在屏幕截图过程中,当屏幕包含黑暗图片时,存储的图像包含大量噪音。
谁能告诉我如何减少这些快照图像中的噪声内容。

以下代码用于截屏。

public class Beginning implements Runnable {

    private Thread thread;
    private static long counter = 0;
    private final int FRAME_CAPTURE_RATE = 1000;
    private Robot robot;

    public Beginning() throws Exception {
        robot = new Robot();
        thread = new Thread(this);
        thread.start();
    }

    public static void main(String[] args) throws Exception {
        Beginning beginning = new Beginning();
    }

    public void run() {
        for (;;) {
            try {
                Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
                BufferedImage bufferedImage = robot.createScreenCapture(screenRect);
                ImageIO.write(bufferedImage, "png", new File("D:\\CapturedFrame\\toolImage" + counter + ".png"));
                counter++;
                thread.sleep(FRAME_CAPTURE_RATE);
            } catch (Exception e) {
                System.err.println("Something fishy is going on...");
            }
        }
    }
}

还告诉我,如果不在屏幕上播放视频,我怎么能做到这一点,这意味着我只需要给出视频的位置,然后我的程序就会从中捕获帧并从中去除噪音,然后将其保存在 指定位置。

【问题讨论】:

  • 对我来说似乎工作正常,可以提供一些示例和预期的输出图像吗?
  • @MadProgrammer,当然,我正在播放一段黑暗的视频,然后从中捕捉图像,这是一个包含噪音的简单快照的链接 (dropbox.com/s/a1pyj68aifevr7x/toolImage2.png)
  • @user2320537 - 那么预期的(不嘈杂的)图像是什么样的?
  • @StephenC,这是我的文件,请拿走这个 (dropbox.com/s/a1pyj68aifevr7x/toolImage2.png)
  • 我看到了。现在请向我们展示 NON-NOISY 图像的样子。

标签: java image noise


【解决方案1】:

如果您不需要以编程方式执行此操作,VLC 播放器可以选择创建帧图像,请参阅: http://www.isimonbrown.co.uk/vlc-export-frames

如果您需要从程序运行并且不想播放视频 - 我建议使用命令行工具(例如 ffmpeg)并通过 Runtime exec 从 java 调用它,即

Runtime.getRuntime().exec("在此处插入 FFMPEG 命令");

ffmpeg 的一些示例命令可以在这里找到:

http://trac.ffmpeg.org/wiki/Create%20a%20thumbnail%20image%20every%20X%20seconds%20of%20the%20video

例如每秒 1 帧:

ffmpeg -i input.flv -f image2 -vf fps=fps=1 out%d.png

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 2017-02-02
    • 2011-07-10
    • 2014-10-29
    • 1970-01-01
    • 2014-03-27
    相关资源
    最近更新 更多