image data and display l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Image Data and Display PowerPoint Presentation
Download Presentation
Image Data and Display

Loading in 2 Seconds...

play fullscreen
1 / 56

Image Data and Display - PowerPoint PPT Presentation


  • 981 Views
  • Uploaded on

Image Data and Display For Class Consistency % source ~rvrpci/.simg726.rc Quiz #2 Topics mkdir chmod cd grep ci and co PBMPLUS FORMAT and xv Digital image format concepts PBMPLUS image interchange format. Displaying digital image xv image display PBMPLUS Image Data Types

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Image Data and Display' - albert


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
for class consistency
For Class Consistency

% source ~rvrpci/.simg726.rc

quiz 2 topics
Quiz #2 Topics
  • mkdir
  • chmod
  • cd
  • grep
  • ci and co
pbmplus format and xv
PBMPLUS FORMAT and xv
  • Digital image format concepts
    • PBMPLUS image interchange format.
  • Displaying digital image
    • xv image display
pbmplus image data types
PBMPLUS Image Data Types
  • Bilevel Image Data Type
    • Black and White
  • Monochrome Image Data Type
    • Greyscale
  • RGB Color Image Data Type
    • Color
two pbmplus representations
Two PBMPLUS Representations
  • All PBMPLUS data formats have the following representations
    • ASCII Format
      • (for Human Consumption)
    • RAW Format
      • (for Computer Consumption)
displaying images
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 &

portable bit map pbm
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 0’s (zeroes) to represent white
        • (no ink deposited on paper)
      • Uses 1’s (ones) to represent black
        • (ink deposited on paper)
let us digress the vi problem
Let us digress – The vi Problem
  • vi practice and creation of a bilevel image.
  • 7”x10” 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.
problem 1 solution
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

problem 1 solution11
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.

problem 1 solution12
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.

problem 1 solution13
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

yet another vi digression
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

viewing current vi settings
Viewing current vi settings

:set all

noautoindent nomodelines noshowmode

autoprint nonumber noslowopen

noautowrite nonovice tabstop=8

nobeautify nooptimize taglength=0

directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpbtags=tags /usr/lib/tags

noedcompatible prompt tagstack

noerrorbells noreadonly term=vt220

noexrc redraw noterse

flash remap timeout

hardtabs=8 report=5 ttytype=vt220

noignorecase scroll=11 warn

nolisp sections=NHSHH HUuhsh+c window=23

nolist shell=/bin/csh wrapscan

magic shiftwidth=8 wrapmargin=0

mesg noshowmatch nowriteany

saving vi preferences
Saving vi Preferences
  • Preferences such as :set number can be saved in the file .exrc in your home directory (~)
a vi command to always remember
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)

the super smart solution
The Super-smart Solution
  • In UNIX

% repeat 70 echo -n 0 >> one_line; echo >> one_line; repeat 100 cat one_line >> signature.dat

let s create another image
Let’s Create another image
  • Put the signature.dat away for the time being and create a simpler image
  • Call it bilevel.pbm
portable bit map pbm20
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

portable bit map pbm21
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

portable bit map pbm22
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

how to add a pbmplus header to an image file
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)
put a header on signature dat and display in xv
Put a header on signature.dat and display in xv
  • Method #1
    • Using a text editor, input the appropriate header values.
put a header on signature dat and display in xv25
Put a header on signature.dat and display in xv
  • Method #2
    • Edit a file calledheader.dat containing the header information
    • Concatenate the header file at the beginning of signature.dat using the cat command

% cat header.dat signature.dat > signature.pbm

put a header on signature dat and display in xv26
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 > signature.pbm

P1

70 100

^D

portable bit map pbm27
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

*4>HR\

portable grey map pgm
Portable Grey Map (PGM)
  • Monochrome Image Data Type (Greyscale)
    • Displayed greyscale imagery
    • Grey values µ brightness.
    • Convention opposite that of the PBM format
portable grey map pgm29
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

portable grey map pgm30
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

portable grey map pgm31
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

*4>HR\

portable pixel map ppm
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)
portable pixel map ppm33
Portable Pixel Map (PPM)
  • RGB Color Image Data Type (Color)
    • For the ASCII file format,
      • P3
      • width, height
      • maximumgrey levelpossible of the image
    • The pixel values are given as a triple representing the red, green, and blue components .
portable pixel map ppm34
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

ppm question
PPM QUESTION

So what does the data*4>HR\look like as a Raw PPM Image?

conversion of raw files to pbmplus format
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 > MyCat.pgm

usage note about pbmplus commands
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] [<width> <height>][rawfile]

converting pnm image file to another format
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 > signature.tiff

-noneoption means not invoke LZW image compression.

rudimentary image processing using the pbmplus utilities

TIFF FILE

PNM FILE

2X Scale

PNM FILE

RAST FILE

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.
rudimentary image processing using the pbmplus utilities40
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 > 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 -

pbmplus file information
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

pbmplus histogram utilities
PBMPLUS Histogram Utilities
  • Greyscale histogram

pgmhist

  • Color histogram

ppmhist

cutting out regions of interest
Cutting out regions of interest

% pnmcut

usage: pnmcut x y width height [pnmfile]

% pnmcrop

usage: pnmcrop [-white|-black] [-left] [-right] [-top] [-bottom] [pnmfile]

pasting or arranging images
Pasting or Arranging Images

% pnmcat

pnmcat [-white|-black] -leftright|-lr [-jtop|-jbottom] pnmfile pnmfile ...

% pnmpaste

pnmpaste [-replace|-or|-and |xor] frompnmfile x y [intopnmfile]

you have a bunch of images
You have a bunch of images...

% pnmindex

pnmindex [-size N] [-across N]

[-colors N] [-black] pnmfile ...

color bands combination and extraction
Color Bands Combination and Extraction

% rgb3ppm

rgb3toppm redpgmfile greenpgmfile bluepgmfile

% ppmtorgb3

ppmtorgb3 [ppmfile]

  • results in .red .grn .blu
spatial operations
Spatial Operations
  • pnmconvol
  • pnmscale
  • pnmrotate
  • pnmflip
  • pnmshear
greyscale color operations
Greyscale/Color Operations
  • ppmquant
  • pnmdepth
  • ppmdither
really useful stuff
Really Useful Stuff
  • Doing Screen Captures under X

% xwd | xwdtopnm | pnmdepth 255 | pnmtotiff > screen.tif

  • Your cursor will turn into crosshairs
  • Click on the window you want to capture
screen capture through xv
Screen Capture through xv
  • Click on grab button
  • Specify a time delay
  • Left button grabs window
  • Middle button grabs a rectangle
  • Right button cancels
getting hardcopy output
Getting Hardcopy Output
  • Determining what type of display device you have

IDL> 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)

getting hardcopy output52
Getting Hardcopy Output
  • To get a postscript output of your plot

IDL> set_plot,’ps’

IDL> device, Filename=‘new_plot.ps’

IDL> plot, my_data,Title=‘Imaging Lab 1’

IDL> device, /close

IDL> $lpr -Pdip new_plot.ps

  • You then want to return your output device to whatever display device you had originally

IDL> set_plot,’MAC’

check your postscript file before sending to the printer
Check Your Postscript File Before Sending to the Printer
  • You can use the ghostview utility to view a postscript file
note well
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

getting encapsulated postscript file eps
Getting Encapsulated Postscript File (EPS)
  • To get a postscript file of your plot that you can include into another document

IDL> set_plot,’ps’

IDL> device, /encapsulated, /preview

IDL> device, Filename=‘new_plot.eps’

IDL> plot, my_data,Title=‘Imaging Lab 1’

IDL> device, /close

  • The above process creates what is known as an Encapsulated Postscript File (EPS)