| .TH LINES 3 "14 May 1991" |
| .SH NAME |
| im_cntlines, im_profile \- calculate transitions between black and white pels horizontally or vertically |
| .SH SYNOPSIS |
| .B #include <vips/vips.h> |
| |
| .B int im_profile(in, out, dir) |
| .br |
| .B IMAGE *in, *out; |
| .br |
| .B int dir; |
| |
| .B int im_cntlines(in, nolines, dir) |
| .br |
| .B IMAGE *in; |
| .br |
| .B double *nolines; |
| .br |
| .B int dir; |
| |
| .SH DESCRIPTION |
| |
| .B im_profile(3) |
| searches inward from the edge of the image and finds the first non-zero pixel. |
| It outputs an image containing a list of the offsets for each row or column. |
| |
| If |
| .B dir |
| ==0, then |
| .B im_profile(3) |
| searches down from the top edge, writing an image as wide as the input |
| image, but only 1 pixel high, containing the number of pixels down to the |
| first non-zero pixel for each column of input pixels. |
| |
| If |
| .B dir |
| ==1, then |
| .B im_profile(3) |
| searches across from the left edge, writing an image as high as the input |
| image, but only 1 pixel wide, containing the number of pixels across to the |
| first non-zero pixel for each row of input pixels. |
| |
| .B im_cntlines(3) |
| calculates the number of transitions between black and white pixels of |
| an image. If dir is 1 then all transitions across the |
| vertical direction are calculated for all Xsize lines of the image. If dir |
| is 0 then all transitions along the horizontal direction for all Ysize |
| lines are calculated. The function returns the number of transitions |
| divided by twice the number of the corresponding Xsize of Ysize lines. |
| The program is primarily used to calculate the number of unbroken horizontal |
| (dir=0) or vertical lines (dir=1) that exist within an image. |
| Input image in can have only one channel. |
| |
| .SH RETURN VALUE |
| All functions returns 0 on success and -1 on error. |
| .SH SEE ALSO |
| im_erode(3), im_dilate(3). |