comparison - Command-line option to compare 2 images in FastStone Image Viewer

20
2014-03
  • Gnubie

    I find FastStone Image Viewer a useful freeware to compare 2 images side by side, by selecting the images (by holding down Ctrl and clicking) in its Browser view, then pressing P.

    Is there a command-line option to directly compare images as above? e.g. something like

    "C:\Program Files\FastStone Image Viewer\FSViewer.exe" "D:\image1.jpg" "D:\image2.jpg"
    
  • Answers
    Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

    Related Question

    Command line SVG and image file viewer in Linux?
  • Xiè Jìléi

    Is there any command line (pipe-able) graph viewer for SVG and JPG/PNG image files?

    Especially that, the graph/image files are output thru pipe line, rather than plain files, so there must be option to specify the file type/extension.

    Though gv works for PS/PDF generated by dot programs, I'd like to know whether there's alternatives for support SVG etc. image files.


  • Related Answers
  • Dennis Williamson

    Have you tried the display program that comes with ImageMagick?

  • Ivan Petrushev

    What do you mean with 'pipe-able'?
    feh is very good commandline viewer with tons of options.

  • Jukka Matilainen

    I second Dennis Williamson's recommendation of ImageMagick display.

    Also, you can sometimes use named pipes to pipe data to programs which read from a file.

    Example:

    mkfifo /tmp/foo.svg
    cat /usr/share/inkscape/clipart/tux.svg > /tmp/foo.svg & inkscape /tmp/foo.svg
    rm -f /tmp/foo.svg
    

    Won't work with programs which expect to be able to seek backward in the file, though.

  • sdaau

    I usually work with SVG as text files, so would like the viewer to automatically refresh the display as soon as the file got saved (and its contents got changed) - this should be applicable to 'pipable' situations, I think (i.e. with named pipes).

    Note that, for default Gnome apps:

    • evince currently works like this for PDFs, but seemingly it cannot read SVG (for me it generates "Unable to open document - Error opening file: Permission denied" when I tried to load SVG files)
    • eog (Eye Of Gnome) - the latest versions - can also detect if a file changed on this, and then offer a 'Reload' button; but apparently, you'd still have to click on 'Reload' each time (I cannot see a way to cause automatic reload always on file change in eog, like evince behaves with PDFs) - and also, at least on my Ubuntu 10.04, eog SVG support is somewhat broken (zoom in results with blurry lines)
    • ImageMagick's display not only does not automatically refresh when the file changes on disk - and even when you press 'refresh' in display, you still do not get the latest version of the file (meaning, you have to restart display to show the latest version :( ).

    Here are some more notes I found so far:

    • Squiggle, the SVG Browser The SVG browser that is part of the Batik toolkit. - Download Batik batik-1.7.zip; unpack it; run java -jar batik-squiggle.jar and there it is; does not refresh the image automatically if the svg file changed on disk
    • SVG Image Viewer? - Ubuntu Forums recommendations:
      • In post #8 - "I wrote a little python script ... You just run it as: svg_compare.py and it opens up an svg and displays it using an svg library and using gtk's raster library. You can zoom with the mouse..."
      • xsvg (from http://cairographics.org) - I installed libsvg1_0.1.4-1_i386.deb, libsvg-cairo1_0.1.6-5_i386.deb and xsvg_0.2.1-3_i386.deb in that order; those versions are from 2005, and so xsvg is extremely simple - no zoom, nothing.. And needless to say, it does not react to saved file changes automatically...
    • through that, I found rsvg-view, which I think is a part of sudo apt-get install librsvg2-bin. Its small, nice, supports stdin - however, also rsvg-view cannot detect a file change, and automatically refresh on it..

    Yup - well, I hope this helps...
    Cheers!

     

    EDIT (Dec 24 '10): well, here is also my contribution: svg_refreshview.py - which is basically a rework of svg_compare.py mentioned above, that simply shows an SVG file, and reloads the file and refreshes the display if the file has been modified. (it can't really work with stdin - but there are other scripts in my repo that parse stdin in python, maybe they'll help).

    EDIT2 (May 20 '12): Also, came up with a Perl-Tk script example, which is very crude (no mouse interaction, no nothing), but uses ImageMagick Perl API, and so can render SVG (as bitmap on a canvas), please see answer #10670039 - ImageMagick API for command-line GUI application interface to display - Stack Overflow.

  • terdon

    It seems Geeqie viewer handles svg graphics and it automatically loads the updated images. I don't know whether it can take images from stdin. I hope it helps.

  • Denilson Sá

    Inkscape already comes with its own viewer: inkview

    It lacks features, it might be a bit slow, but it works (and probably renders SVG more accurately than ImageMagick's display).