Image Data and Display - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Image Data and Display

Description:

Displaying Images. Use xv utility for display and documentation purposes. ... vi practice and creation of a bilevel image. ... Let's Create another image ... – PowerPoint PPT presentation

Number of Views:86
Avg rating:3.0/5.0
Slides: 57
Provided by: rolando
Learn more at: https://www.cis.rit.edu
Category:
Tags: data | display | image

less

Transcript and Presenter's Notes

Title: Image Data and Display


1
Image Data and Display
2
For Class Consistency
  • source rvrpci/.simg726.rc

3
Quiz 2 Topics
  • mkdir
  • chmod
  • cd
  • grep
  • ci and co

4
PBMPLUS FORMAT and xv
  • Digital image format concepts
  • PBMPLUS image interchange format.
  • Displaying digital image
  • xv image display

5
PBMPLUS Image Data Types
  • Bilevel Image Data Type
  • Black and White
  • Monochrome Image Data Type
  • Greyscale
  • RGB Color Image Data Type
  • Color

6
Two PBMPLUS Representations
  • All PBMPLUS data formats have the following
    representations
  • ASCII Format
  • (for Human Consumption)
  • RAW Format
  • (for Computer Consumption)

7
Displaying Images
  • Use xv utility for display and documentation
    purposes.
  • Note that xv is an X client
  • Should NEVER be used for image processing
  • USE ONLY FOR DISPLAY PURPOSES
  • To invoke xv
  • xv
  • xv filename.pgm

8
Portable Bit Map (PBM)
  • Bilevel Image Data Type
  • (Black and White)
  • Used to represent printed black and white imagery
    such as documents and faxes.
  • Uses 0s (zeroes) to represent white
  • (no ink deposited on paper)
  • Uses 1s (ones) to represent black
  • (ink deposited on paper)

9
Let us digress The vi Problem
  • vi practice and creation of a bilevel image.
  • 7x10 graph paper divided into 10 squares per
    inch.
  • Cell not covered by ink
  • value of zero (0).
  • Cell fully or partially covered by ink
  • value of one (1).
  • You will have a total of 700 pixels to enter.

10
Problem 1 Solution
  • vi - Brute Force Solution
  • 1. Is the current pixel 0 (zero) or 1 (one)?
  • 2. Type the appropriate character
  • 3. Repeat steps 1 and 2 until done

11
Problem 1 Solution
  • vi- Smart Solution
  • 1. Type the vi command 70i0
  • seventy, i - for insert, 0 (zero)
  • 2. Hit the ESCAPE key to get you out of insert
    mode.
  • 3. Type the vi command o to open a new line
  • 4. Hit the ESCAPE key to get you out of insert
    mode.
  • 5. Move back up to the line of zeroes and use the
    yy (yank command) to make a copy of the line of
    70 zeroes.

12
Problem 1 Solution
  • vi- Smart Solution
  • 6. Type the vi command p 10 times
  • 7. Move back up to the top line of zeroes and use
    the 10yy (yank command) to make a copy of 10
    lines of 70 zeroes per line.
  • 8. Type the vi command p 10 times
  • 9.You will now have a page of 700 zeroes.

13
Problem 1 Solution
  • vi- Smart Solution
  • 10. You can navigate to the areas that need to be
    changed to 1 and use the R command to replace
    contiguous set of characters.
  • 11. Hit the ESCAPE key to get you out of insert
    mode.
  • 12. Navigate to next section and repeat steps 10
    -12 until done.
  • 13. Save the file out and exit vi
  • wq signature.dat

14
Yet another vi Digression
  • To show line number in vi, execute the following
    command
  • set number
  • To disable line numbers in vi, execute the
    following command
  • set nonumber

15
Viewing current vi settings
  • set all
  • noautoindent nomodelines
    noshowmode
  • autoprint nonumber
    noslowopen
  • noautowrite nonovice
    tabstop8
  • nobeautify nooptimize
    taglength0
  • directory/var/tmp paragraphsIPLPPPQPP
    LIpplpipnpbtagstags /usr/lib/tags
  • noedcompatible prompt
    tagstack
  • noerrorbells noreadonly
    termvt220
  • noexrc redraw
    noterse
  • flash remap
    timeout
  • hardtabs8 report5
    ttytypevt220
  • noignorecase scroll11
    warn
  • nolisp sectionsNHSHH HUuhshc
    window23
  • nolist shell/bin/csh
    wrapscan
  • magic shiftwidth8
    wrapmargin0
  • mesg noshowmatch
    nowriteany

16
Saving vi Preferences
  • Preferences such as set number can be saved in
    the file .exrc in your home directory ()

17
A vi Command to Always Remember
  • To replace all occurrences or a string in a file
    with new string.
  • s/string1/string2/g
  • OR
  • s/string1/string2/gc
  • (Will ask you for confirmation)

18
The Super-smart Solution
  • In UNIX
  • repeat 70 echo -n 0 gtgt one_line echo gtgt
    one_line repeat 100 cat one_line gtgt
    signature.dat

19
Lets Create another image
  • Put the signature.dat away for the time being and
    create a simpler image
  • Call it bilevel.pbm

20
Portable Bit Map (PBM)
  • Bilevel Image Data Type
  • For the ASCII file format, the file header is
    given by P1
  • width and height of the image.
  • Comments are indicated by the character
  • P1
  • This is a 16 column x 3 row
  • PBM ASCII image
  • Created by using vi
  • 16 3
  • 001010100011010000111110
  • 010010000101001001011100

21
Portable Bit Map (PBM)
  • Make a copy of bilevel.pbm and edit the copy to
    look like the following,
  • P1
  • This is a 16 column x 3 row PBM ASCII
  • image
  • 16 3
  • 0010101000110100
  • 0011111001001000
  • 0101001001011100

22
Portable Bit Map (PBM)
  • When displayed looks like
  • P1
  • This is a 16 column x 3 row PBM ASCII
  • image
  • 16 3
  • 0010101000110100
  • 0011111001001000
  • 0101001001011100

23
How to Add a PBMPLUS Header to an Image File
  • If its an ASCII file you can use vi
  • Use the cat command to concatenate a header from
    a file or the keyboard (standard input - stdio)

24
Put a header on signature.dat and display in xv
  • Method 1
  • Using a text editor, input the appropriate header
    values.

25
Put a header on signature.dat and display in xv
  • Method 2
  • Edit a file called header.dat containing the
    header information
  • Concatenate the header file at the beginning of
    signature.dat using the cat command
  • cat header.dat signature.dat gt signature.pbm

26
Put a header on signature.dat and display in xv
  • Method 3
  • Concatenate the header data from the keyboard
    directly to the beginning of signature.dat using
    the cat command
  • cat - signature.dat gt signature.pbm
  • P1
  • 70 100
  • D

27
Portable Bit Map (PBM)
  • There is also a binary version of the PBM image
    type which uses a P4 header such as the one below
  • P4
  • This is a 16 column x 3 row PBM RAW
  • image
  • 16 3
  • 4gtHR\

28
Portable Grey Map (PGM)
  • Monochrome Image Data Type (Greyscale)
  • Displayed greyscale imagery
  • Grey values µ brightness.
  • Convention opposite that of the PBM format

29
Portable Grey Map (PGM)
  • Monochrome Image Data Type (Greyscale)
  • EXAMPLE,
  • P2
  • This is a 3 column x 2 row PGM ASCII image
  • With a possible maximum grey value of 255
  • 3 2
  • 255
  • 42 52 62
  • 72 82 92

30
Portable Grey Map (PGM)
  • When displayed, the image is shown below
  • P2
  • This is a 3 column x 2 row PGM ASCII image
  • With a possible maximum grey value of 255
  • 3 2
  • 255
  • 42 52 62
  • 72 82 92

31
Portable Grey Map (PGM)
  • There is also a binary version of the PGM image
    type which uses a P5 header such as the one below
  • P5
  • This is a 3 column x 2 row PGM Raw
  • image
  • 3 2
  • 255
  • 4gtHR\

32
Portable Pixel Map (PPM)
  • RGB Color Image Data Type (Color)
  • Red, Green, and Blue bands
  • Arranged in pixel-interleaved format or band
    interleaved by pixel (BIP)

33
Portable Pixel Map (PPM)
  • RGB Color Image Data Type (Color)
  • For the ASCII file format,
  • P3
  • width, height
  • maximum grey level possible of the image
  • The pixel values are given as a triple
    representing the red, green, and blue components .

34
Portable Pixel Map (PPM)
  • RGB Color Image Data Type (Color)
  • EXAMPLE,
  • P3
  • 3 3
  • 255
  • 255 0 0 0 255 0 0 0 255
  • 128 0 0 0 128 0 0 0 128
  • 0 0 0 128 128 128 255 255 255

35
PPM QUESTION
  • So what does the data4gtHR\ look like as a Raw
    PPM Image?

36
Conversion of Raw Files to PBMPLUS Format
  • Alternative to manually prepending a header file
    using cat command
  • rawtopbm, rawtopgm, or rawtoppm
  • rawtopgm 256 256 rvrpci/pub/MyCat_P5.raw gt
    MyCat.pgm

37
Usage Note About PBMPLUS Commands
  • PBMPLUS commands heavily use the UNIX redirection
    and piping
  • To get help use -h option.
  • rawtopgm -h
  • usage rawtopgm -headerskip N -rowskip N
    -tb-topbottom ltwidthgt ltheightgtrawfile

38
Converting PNM Image File to Another Format
  • PNM is a generic designator for all PBM, PGM, and
    PPM
  • Convert a PBMPLUS format file into a TIFF
  • e.g., signature.pbm to signature.tiff.
  • Use the following command
  • pnmtotiff -none signature.pbm gt signature.tiff
  • -none option means not invoke LZW image
    compression.

39
Rudimentary Image Processing Using the PBMPLUS
Utilities
  • Requires that all input be in some form of PBM,
    PGM, PPM image
  • Supposed we wanted to enlarge a tiff file ( e.g.,
    signature.tiff) by a scale factor of 2x and then
    convert it to a SUN raster file.

40
Rudimentary Image Processing Using the PBMPLUS
Utilities
  • The previous process can actually be executed in
    one UNIX command
  • tifftopnm signature.tiff pnmscale 2.0
    pnmtorast gt signature.rast
  • In fact you can pipe the information directly to
    xv before writing it out to another format
  • tifftopnm signature.tiff pnmscale 2.0
    pnmtorast xv -

41
PBMPLUS File Information
  • Supposed you wanted to know what the
    characteristics are of a particular PBMPLUS file
    you can give the following command
  • pnmfile MyCat.pgm
  • MyCat.pgm PGM raw, 256 by 256 maxval 255

42
PBMPLUS Histogram Utilities
  • Greyscale histogram
  • pgmhist
  • Color histogram
  • ppmhist

43
Cutting out regions of interest
  • pnmcut
  • usage pnmcut x y width height pnmfile
  • pnmcrop
  • usage pnmcrop -white-black -left -right
    -top -bottom pnmfile

44
Pasting or Arranging Images
  • pnmcat
  • pnmcat -white-black -leftright-lr
    -jtop-jbottom pnmfile pnmfile ...
  • pnmpaste
  • pnmpaste -replace-or-and xor frompnmfile x y
    intopnmfile

45
You have a bunch of images...
  • pnmindex
  • pnmindex -size N -across N
  • -colors N -black pnmfile ...

46
Color Bands Combination and Extraction
  • rgb3ppm
  • rgb3toppm redpgmfile greenpgmfile bluepgmfile
  • ppmtorgb3
  • ppmtorgb3 ppmfile
  • results in .red .grn .blu

47
Spatial Operations
  • pnmconvol
  • pnmscale
  • pnmrotate
  • pnmflip
  • pnmshear

48
Greyscale/Color Operations
  • ppmquant
  • pnmdepth
  • ppmdither

49
Really Useful Stuff
  • Doing Screen Captures under X
  • xwd xwdtopnm pnmdepth 255 pnmtotiff gt
    screen.tif
  • Your cursor will turn into crosshairs
  • Click on the window you want to capture

50
Screen Capture through xv
  • Click on grab button
  • Specify a time delay
  • Left button grabs window
  • Middle button grabs a rectangle
  • Right button cancels

51
Getting Hardcopy Output
  • Determining what type of display device you have
  • IDLgt help,/device
  • Available graphics_devices CGM HP MAC NULL PCL
    PS Z
  • Current graphics device MAC
  • Macintosh Quickdraw Driver
  • Screen Resolution 640x442
  • Physical Color Map Entries (Used / Total)
    220 / 256
  • Current Window Number 0, size (320,240)
    type Window.
  • Graphics Function 3 (copy)
  • Current Font Chicago
  • Default Backing Store Pixmap.
  • Window Status
  • 0 Window 320x240 (Retained)

52
Getting Hardcopy Output
  • To get a postscript output of your plot
  • IDLgt set_plot,ps
  • IDLgt device, Filenamenew_plot.ps
  • IDLgt plot, my_data,TitleImaging Lab 1
  • IDLgt device, /close
  • IDLgt lpr -Pdip new_plot.ps
  • You then want to return your output device to
    whatever display device you had originally
  • IDLgt set_plot,MAC

53
Check Your Postscript File Before Sending to the
Printer
  • You can use the ghostview utility to view a
    postscript file

54
Note Well
  • Always make sure that the printer to which you
    will be sending your job is capable of talking
    Postscript. If it does not, you will be killing
    many trees.
  • To find out the status of your job
  • lpq -P(printer name)
  • To kill a print job
  • lprm -P(printer name) job_number

55
Getting Encapsulated Postscript File (EPS)
  • To get a postscript file of your plot that you
    can include into another document
  • IDLgt set_plot,ps
  • IDLgt device, /encapsulated, /preview
  • IDLgt device, Filenamenew_plot.eps
  • IDLgt plot, my_data,TitleImaging Lab 1
  • IDLgt device, /close
  • The above process creates what is known as an
    Encapsulated Postscript File (EPS)

56
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com