⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 img_perimeter.h64

📁 TMS320C64x Image/Video Processing Library (V1.04)
💻 H64
字号:
;* ======================================================================== *;
;*  TEXAS INSTRUMENTS, INC.                                                 *;
;*                                                                          *;
;*  IMGLIB  DSP Image/Video Processing Library                              *;
;*                                                                          *;
;*      Release:        Revision 1.04b                                      *;
;*      CVS Revision:   1.7     Sun Sep 29 07:07:22 2002 (UTC)              *;
;*      Snapshot date:  23-Oct-2003                                         *;
;*                                                                          *;
;*  This library contains proprietary intellectual property of Texas        *;
;*  Instruments, Inc.  The library and its source code are protected by     *;
;*  various copyrights, and portions may also be protected by patents or    *;
;*  other legal protections.                                                *;
;*                                                                          *;
;*  This software is licensed for use with Texas Instruments TMS320         *;
;*  family DSPs.  This license was provided to you prior to installing      *;
;*  the software.  You may review this license by consulting the file       *;
;*  TI_license.PDF which accompanies the files in this library.             *;
;* ------------------------------------------------------------------------ *;
;*          Copyright (C) 2003 Texas Instruments, Incorporated.             *;
;*                          All Rights Reserved.                            *;
;* ======================================================================== *;
;* ======================================================================== *;
;*  Assembler compatibility shim for assembling 4.30 and later code on      *;
;*  tools prior to 4.30.                                                    *;
;* ======================================================================== *;
;* ======================================================================== *;
;*  End of assembler compatibility shim.                                    *;
;* ======================================================================== *;
*============================================================================*
*                                                                            *
*    TEXAS INSTRUMENTS, INC.                                                 *
*                                                                            *
*    NAME                                                                    *
*        Perimeter: Detection of the boundary of a binary image              *
*                                                                            *
*    REVISION DATE                                                           *
*        21-Aug-2001                                                         *
*                                                                            *
*    USAGE                                                                   *
*        This routine is C callable, and has the following C prototype:      *
*                                                                            *
*           int IMG_perimeter                                               *
*           (                                                               *
*               const unsigned char *restrict in,  /* Input image    */     *
*               int cols,                          /* Width of input */     *
*               unsigned char       *restrict out  /* Output image   */     *
*           );                                                              *
*                                                                            *
*     DESCRIPTION                                                            *
*           This routine produces the boundary of a binary image. It echoes  *
*     the boundary pixels with a value of 0xFF and sets the other pixels     *
*     as 0. Detection of the boundary of a binary image is a segmentation    *
*     problem and is done by examining spatial locality of the neighboring   *
*     pixels. This is done by using the four connectivity algorithm          *
*                                                                            *
*               pix_up                                                       *
*      pix_lft pix_cent pix_rgt                                              *
*              pix_dn                                                        *
*                                                                            *
*     The output pixel at location pix_cent is echoed as a boundary pixel    *
*     if pix_cent is non-zero and any one of its four neighbors is zero      *
*     The four neighbors are shown and stand for the foll:                   *
*                                                                            *
*     pix_up:  top pixel                                                     *
*     pix_lft: left pixel                                                    *
*     pix_rgt: right pixel                                                   *
*     pix_dn:  bottom pixel                                                  *
*                                                                            *
*     ASSUMPTIONS                                                            *
*       input image must be double-word aligned                              *
*       cols must be a multiple of 16                                        *
*                                                                            *
*     MEMORY NOTE                                                            *
*        No bank conflicts are expected for this kernel.                     *
*                                                                            *
*     TECHNIQUES                                                             *
*                                                                            *
*     Use double word wide loads and bring in pixels along three lines which *
*     we shall call top, mid and bot. Use split compares to compare if pix-  *
*     els are greater than or equal to zero. Use the 4 lsb's to find out     *
*     the result. Prepare an 8 bit mask using the result of 2 such split     *
*     compares. Perform this operation for the top, middle and botton.       *
*     Logically invert the result of mid, left shift and right shift and     *
*     add the context information by setting the 8 th bit or the 1st bit.    *
*     Use xpnd4 and bitc4 to perform expansion and bit count. Store output   *
*     pixels as double word. The actual handassembly code is unrolled once   *
*     and computes 16 output pixels in 10 cycles                             *
*                                                                            *
*    CYCLES                                                                  *
*        10 * cols/16 + 55                                                   *
*        cols = 720,    505 cycles                                           *
*                                                                            *
*    CodeSize: 600 bytes                                                     *
*                                                                            *
*============================================================================*
*             Copyright (c) 2003 Texas Instruments, Incorporated.           *
*                            All Rights Reserved.                           *
*============================================================================*

        .global _IMG_perimeter

* ========================================================================= *
*   End of file:  img_perimeter.h64                                         *
* ------------------------------------------------------------------------- *
*             Copyright (c) 2003 Texas Instruments, Incorporated.           *
*                            All Rights Reserved.                           *
* ========================================================================= *

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -