Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pnmconvol(1) [redhat man page]

pnmconvol(1)						      General Commands Manual						      pnmconvol(1)

NAME
pnmconvol - general MxN convolution on a portable anymap SYNOPSIS
pnmconvol convolutionfile [pnmfile] DESCRIPTION
Reads two portable anymaps as input. Convolves the second using the first, and writes a portable anymap as output. Convolution means replacing each pixel with a weighted average of the nearby pixels. The weights and the area to average are determined by the convolution matrix. The unsigned numbers in the convolution file are offset by -maxval/2 to make signed numbers, and then normalized, so the actual values in the convolution file are only relative. Here is a sample convolution file; it does a simple average of the nine immediate neighbors, resulting in a smoothed image: P2 3 3 18 10 10 10 10 10 10 10 10 10 To see how this works, do the above-mentioned offset: 10 - 18/2 gives 1. The possible range of values is from 0 to 18, and after the off- set that's -9 to 9. The normalization step makes the range -1 to 1, and the values get scaled correspondingly so they become 1/9 - exactly what you want. The equivalent matrix for 5x5 smoothing would have maxval 50 and be filled with 26. The convolution file will usually be a graymap, so that the same convolution gets applied to each color component. However, if you want to use a pixmap and do a different convolution to different colors, you can certainly do that. At the edges of the convolved image, where the convolution matrix would extend over the edge of the image, pnmconvol just copies the input pixels directly to the output. SEE ALSO
pnmsmooth(1), pnm(5) AUTHORS
Copyright (C) 1989, 1991 by Jef Poskanzer. Modified 26 November 1994 by Mike Burns, burns@chem.psu.edu 26 November 1994 pnmconvol(1)

Check Out this Related Man Page

pnmconvol(1)						      General Commands Manual						      pnmconvol(1)

NAME
pnmconvol - general MxN convolution on a portable anymap SYNOPSIS
pnmconvol convolutionfile [pnmfile] DESCRIPTION
Reads two portable anymaps as input. Convolves the second using the first, and writes a portable anymap as output. Convolution means replacing each pixel with a weighted average of the nearby pixels. The weights and the area to average are determined by the convolution matrix. The unsigned numbers in the convolution file are offset by -maxval/2 to make signed numbers, and then normalized, so the actual values in the convolution file are only relative. Here is a sample convolution file; it does a simple average of the nine immediate neighbors, resulting in a smoothed image: P2 3 3 18 10 10 10 10 10 10 10 10 10 To see how this works, do the above-mentioned offset: 10 - 18/2 gives 1. The possible range of values is from 0 to 18, and after the off- set that's -9 to 9. The normalization step makes the range -1 to 1, and the values get scaled correspondingly so they become 1/9 - exactly what you want. The equivalent matrix for 5x5 smoothing would have maxval 50 and be filled with 26. The convolution file will usually be a graymap, so that the same convolution gets applied to each color component. However, if you want to use a pixmap and do a different convolution to different colors, you can certainly do that. At the edges of the convolved image, where the convolution matrix would extend over the edge of the image, pnmconvol just copies the input pixels directly to the output. SEE ALSO
pnmsmooth(1), pnm(5) AUTHORS
Copyright (C) 1989, 1991 by Jef Poskanzer. Modified 26 November 1994 by Mike Burns, burns@chem.psu.edu 26 November 1994 pnmconvol(1)
Man Page

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Average of arguments

I have a program where the user enters numbers as arguments and it calculates the average, but it only works when i have a set amount of arguments that can be entered. How can i alter my script so that the user can enter as many arguments as he wishes? (2 Replies)
Discussion started by: TalkShowHost
2 Replies

2. UNIX for Dummies Questions & Answers

awk

Hello All, I am trying to get the average of a set of numbers using awk. I only want to average the numbers on the first row of the file then put the average on the end of that row and then on to the second row but i can only get it to do the average for the whole file. Here is the code i am... (2 Replies)
Discussion started by: jazz8146
2 Replies

3. Shell Programming and Scripting

count average

Hi Friends, Can any one help me with count average of student marks in this file (i can not change structure of the input file): input file: 1:John Smith:2 3 4 5 2:Mark Anderson:3 2 3:Susan Waterman:2 4 2 (numbers of marks are different) output: Name:John Smith ID#: 1 Avg. mark:... (6 Replies)
Discussion started by: mleplawy
6 Replies

4. UNIX for Dummies Questions & Answers

Regarding Decimals in Cshell

Hello... I am new to unix and I am wondering if in a C-shell script , Are we supposed to use only whole numbers........ for example..if a program needs to calculate the average of some numbers........ @ avg = (($1 +$2 + $3)/3)) is returning a whole number.........How can a decimal be achieved... (1 Reply)
Discussion started by: ravindra22
1 Replies

5. Shell Programming and Scripting

print average of values

Is it possible to print the average of 2 nd column based on a key in 1st col input a1X 4 a1X 6 a2_1 10 a2_1 20 a2_1 30 a2_1 30 a2_1 10 output a1X 5 a2_1 20 (11 Replies)
Discussion started by: quincyjones
11 Replies

6. UNIX Desktop Questions & Answers

Calculate average for rows in a text file

Dear Gurus, I have tab-delimited text files with matrix containing values. The first column is a identifier and other columns have the corresponding values. I would like to calculate the average value (total number/number of entries) for all entries from 2nd column to the last column in row... (3 Replies)
Discussion started by: Unilearn
3 Replies

7. Shell Programming and Scripting

Finding an average

Basically, I need to find average of numbers which are given like: sh average file1 file (in files can be more than one number) ->10 sh average 5 7 ->6 sh average /users/file ->5 echo 5 7 | sh average 6 So basically i wrote my code but it gives me error... I am pretty sure it has to work... (10 Replies)
Discussion started by: Manu1234567
10 Replies