亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? contour.c

?? 圖像處理軟件,功能比較基礎
?? C
字號:
/***************************************************************/
/* Contour tracking program                                    */
/* The file contains three subroutines:                        */
/*      1. NextCheckPoint  find the next point on the contour  */
/*      2. OneTraceBWImg  find a contour in B&W image          */
/*      3. TraceAllCnt  find all contours in the B&W image     */
/*                                                             */
/* Author: ZUO Zhengrong                                       */
/* Date  : 21/05/2001                                          */
/***************************************************************/

#include "stdlib.h"
#include "math.h"

#define ONE    255
#define ZERO   0
#define MID    128
#define MAXLEN 1024

#ifndef _COORDINATE_
#define _COORDINATE_
typedef struct
{
  short   x;
  short   y;
}COORDINATE;
#endif

void OneTraceBWImg(unsigned char **SegImg, int Row, int Col, int StartX, int StartY,
	int *CntX, int *CntY, int *CntPointNum);
int NextCheckPoint(int Row, int Col, int SearchDirection, int CurrentX, int CurrentY, int * NextX, int * NextY);
void TraceAllCnt(unsigned char **SegImg, int Row, int Col);

/*  Find all contours in B&W image                                         */
/*                                                                         */
void TraceAllCnt(unsigned char **SegImg, int Row, int Col)
{
   int StartX, StartY;
   int i,j;
   unsigned char *pSegImg;      /* the pointer to the image array */
   int CntX[MAXLEN],CntY[MAXLEN];  /* the array to store X-Y coordinate of the contour */
   int CntPointNum;               

   for(i=0; i<Row; i++)
   for(j=0; j<Col; j++)
   {
      if(j)
	if(SegImg[i][j]==ONE && SegImg[i][j-1]==ZERO) 
	{
	  StartX = i;
	  StartY = j;
	  OneTraceBWImg(SegImg,Row,Col,StartX,StartY,CntX,CntY,&CntPointNum);
	}
      else
	if(SegImg[i][j]==ONE) 
	{
	  StartX = i;
	  StartY = j;
	  OneTraceBWImg(SegImg,Row,Col,StartX,StartY,CntX,CntY,&CntPointNum);
	}
   }
   return ;
 
}

void OneTraceBWImg(unsigned char **SegImg, int Row, int Col, int StartX, int StartY,
	int *CntX, int *CntY, int *CntPointNum)
{
   static int CheckPointX;
   static int CheckPointY;
   static int i,j;
   static int NextPointX, NextPointY;
   static int SearchDirection,NextDirection;           /* search direction  */
   static int First;
   static int Found;
   static int changedirect;
   static int HasNextPoint;

   CheckPointX = StartX;
   CheckPointY = StartY;
   *CntPointNum = 0;

   CntX[*CntPointNum] = CheckPointX;
   CntY[*CntPointNum] = CheckPointY;
   *CntPointNum++;


   SearchDirection = 6;
   First = 1;

   while (StartX != CheckPointX || StartY != CheckPointY || First == 1)
   {
      Found = 0;
      changedirect = 0;
      while (Found ==0 )
      {
	  NextDirection = SearchDirection-1;
	  if(NextDirection<0) NextDirection += 8;
	  HasNextPoint = NextCheckPoint(Row, Col,NextDirection, CheckPointX, CheckPointY, &NextPointX, &NextPointY);    
	  if(HasNextPoint && SegImg[NextPointY][NextPointX]==ONE)
	  {
	     CheckPointX = NextPointX;
	     CheckPointY = NextPointY;
	     SegImg[CheckPointX][CheckPointY] = MID;
	     CntX[*CntPointNum] = CheckPointX;
	     CntY[*CntPointNum] = CheckPointY;
	     *CntPointNum++;
	     changedirect=0;
	     SearchDirection = SearchDirection-2;
	     if(SearchDirection<0) SearchDirection += 8;
	     Found = 1;
	     goto end;
	  }

	  HasNextPoint = NextCheckPoint(Row, Col, SearchDirection, CheckPointX, CheckPointY, &NextPointX, &NextPointY); 
	  if(HasNextPoint && SegImg[NextPointY][NextPointX]==ONE)
	  {
	     CheckPointX = NextPointX;
	     CheckPointY = NextPointY;
	     SegImg[CheckPointX][CheckPointY] = MID;
	     CntX[*CntPointNum] = CheckPointX;
	     CntY[*CntPointNum] = CheckPointY;
	     *CntPointNum++;
	     changedirect=0;
	     Found = 1;
	     goto end;
	  }

	  NextDirection = SearchDirection+1;
	  if(NextDirection>7) NextDirection -= 8;
	  HasNextPoint = NextCheckPoint(Row, Col, NextDirection, CheckPointX, CheckPointY, &NextPointX, &NextPointY);   
	  if(HasNextPoint && SegImg[NextPointY][NextPointX]==ONE)
	  {
	     CheckPointX = NextPointX;
	     CheckPointY = NextPointY;
	     SegImg[CheckPointX][CheckPointY] = MID;
	     CntX[*CntPointNum] = CheckPointX;
	     CntY[*CntPointNum] = CheckPointY;
	     *CntPointNum++;
	     changedirect=0;
	     Found = 1;
	     goto end;
	  }

	  changedirect++;
	  if(changedirect>4) break;
end:      if(!Found)
	  SearchDirection = SearchDirection+2; 
	  if(SearchDirection>7) SearchDirection -= 8;
      }
      First = 0;
   }
}


int NextCheckPoint(int Row, int Col, int SearchDirection, int CurrentX, int CurrentY, int * NextX, int * NextY)
{
    switch (SearchDirection)
    {
	case 0:
	    *NextX = CurrentX + 1;
	    *NextY = CurrentY;
	    if(*NextX>=Col) return 0;
	    break;
	case 1:
	    *NextX = CurrentX + 1;
	    *NextY = CurrentY - 1;
	    if(*NextX>=Col || *NextY<0) return 0;
	    break;
	case 2:
	    *NextX = CurrentX;
	    *NextY = CurrentY - 1;
	    if(*NextY<0) return 0;
	    break;
	case 3:
	    *NextX = CurrentX - 1;
	    *NextY = CurrentY - 1;
	    if(*NextX < 0 || *NextY<0) return 0;
	    break;
	case 4:
	    *NextX = CurrentX - 1;
	    *NextY = CurrentY;
	    if(*NextX<0) return 0;
	    break;
	case 5:
	    *NextX = CurrentX - 1;
	    *NextY = CurrentY + 1;
	    if(*NextX<0 || *NextY>=Row) return 0;
	    break;
	case 6:
	    *NextX = CurrentX;
	    *NextY = CurrentY + 1;
	    if(*NextY>=Row) return 0;
	    break;
	case 7:
	    *NextX = CurrentX + 1;
	    *NextY = CurrentY + 1;
	    if(*NextX>=Col || *NextY>=Row) return 0;
	    break;
	}
	return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜一区二区三区视频| 国产日韩av一区| www.成人在线| 精品一区二区免费在线观看| 精品免费日韩av| 欧美午夜片在线看| 97久久人人超碰| 美女被吸乳得到大胸91| 日韩专区在线视频| 亚洲小说欧美激情另类| 久久久久久久久免费| 日韩免费一区二区三区在线播放| 在线观看av一区二区| 91在线看国产| 不卡的电视剧免费网站有什么| 国产一区999| 国内精品伊人久久久久av影院 | 国产精品国产三级国产专播品爱网| 欧美精品在线观看播放| 久久精品无码一区二区三区| 欧美一区二区视频观看视频| 色哟哟国产精品| 99久久精品99国产精品| 国产白丝精品91爽爽久久| 国产精选一区二区三区| 国产精品91xxx| 激情五月婷婷综合| 国产精品一区在线观看你懂的| 久草这里只有精品视频| 免费人成在线不卡| 狂野欧美性猛交blacked| 久久精品国产一区二区三区免费看| 亚洲福利视频导航| 青草av.久久免费一区| 蜜臀av一级做a爰片久久| 免费在线看一区| 国内精品久久久久影院薰衣草| 韩国成人在线视频| 国产不卡免费视频| 色悠悠久久综合| 91久久免费观看| 91精品免费在线| 国产亚洲精品超碰| 日韩一区在线看| 亚洲精品网站在线观看| 久久精品99久久久| 91在线视频播放| 欧美大片在线观看| 亚洲天堂2014| 麻豆精品一二三| av影院午夜一区| 欧美一区二区免费观在线| 欧美国产日本韩| 日韩av网站在线观看| 福利91精品一区二区三区| 欧美性一二三区| 国产亚洲精品超碰| 日韩专区在线视频| 91在线视频官网| 久久先锋资源网| 午夜精品福利一区二区三区蜜桃| 国产毛片精品一区| 欧美精品vⅰdeose4hd| 国产精品你懂的| 麻豆精品在线播放| 欧美三级日本三级少妇99| 国产免费成人在线视频| 蜜桃av一区二区三区电影| 97久久超碰国产精品| 精品对白一区国产伦| 亚洲一区在线免费观看| 国产**成人网毛片九色| 欧美一级黄色录像| 亚洲自拍另类综合| jizzjizzjizz欧美| 久久综合精品国产一区二区三区| 亚洲韩国精品一区| 99精品在线免费| 国产农村妇女毛片精品久久麻豆| 日韩经典一区二区| 日本高清视频一区二区| 国产精品久久久久精k8 | 欧美mv日韩mv亚洲| 婷婷久久综合九色综合绿巨人 | 国产精品伦一区二区三级视频| 日韩精品欧美精品| 日本精品一区二区三区四区的功能| 久久久99精品免费观看| 蜜臂av日日欢夜夜爽一区| 欧美日韩中文字幕一区二区| 亚洲色欲色欲www在线观看| 成人高清视频在线| 欧美国产国产综合| 国产成人精品三级麻豆| 国产天堂亚洲国产碰碰| 国产老妇另类xxxxx| 精品国产髙清在线看国产毛片| 日本亚洲三级在线| 日韩一区二区中文字幕| 天天影视涩香欲综合网| 欧美三级电影在线看| 亚洲午夜电影在线观看| 欧美午夜精品久久久久久孕妇| 亚洲精品中文字幕在线观看| 91在线观看污| 亚洲免费看黄网站| 欧洲激情一区二区| 亚洲成人自拍网| 欧美日韩免费观看一区三区| 亚洲不卡一区二区三区| 欧美卡1卡2卡| 蜜桃av一区二区在线观看| 欧美精品一区二区在线观看| 国产一区二区视频在线| 国产丝袜美腿一区二区三区| 成人性生交大片| 最新国产精品久久精品| 色婷婷综合久色| 亚洲电影你懂得| 欧美一区2区视频在线观看| 另类综合日韩欧美亚洲| 日韩欧美在线一区二区三区| 久久机这里只有精品| 久久久精品天堂| 91网站在线观看视频| 午夜亚洲国产au精品一区二区| 制服丝袜亚洲色图| 极品销魂美女一区二区三区| 国产拍欧美日韩视频二区| 成人av午夜影院| 亚洲成人自拍网| 精品国产露脸精彩对白| 成人av在线一区二区三区| 亚洲蜜臀av乱码久久精品 | 成人免费一区二区三区视频 | 91麻豆产精品久久久久久| 亚洲成a天堂v人片| 精品国产乱码久久| 99视频一区二区| 午夜欧美视频在线观看 | 国产原创一区二区三区| ㊣最新国产の精品bt伙计久久| 欧美丝袜第三区| 黄页视频在线91| 亚洲日本中文字幕区| 制服丝袜中文字幕一区| 国产成人亚洲综合a∨婷婷图片| 亚洲欧美激情在线| 日韩欧美国产一二三区| 国产**成人网毛片九色| 午夜视频久久久久久| 国产欧美一区二区精品性| 在线影视一区二区三区| 久久 天天综合| 亚洲精品久久嫩草网站秘色| 555夜色666亚洲国产免| 国产精品91xxx| 亚洲国产综合视频在线观看| 国产网站一区二区| 欧美肥胖老妇做爰| 成人av电影在线网| 日韩专区一卡二卡| 亚洲欧美综合网| 久久久精品人体av艺术| 欧美日韩mp4| 色诱亚洲精品久久久久久| 国产精品一线二线三线| 日韩电影免费一区| 亚洲蜜臀av乱码久久精品| 久久婷婷一区二区三区| 欧美日韩精品一区二区三区蜜桃 | 亚洲国产精品成人久久综合一区| 欧美欧美欧美欧美首页| 99在线精品观看| 国产精品亚洲一区二区三区在线| 亚洲国产欧美日韩另类综合| 中文字幕一区二区三区四区| 日韩精品中文字幕在线不卡尤物| 91毛片在线观看| 国产一区视频在线看| 亚洲欧洲av在线| 精品国产免费人成电影在线观看四季 | 欧美视频一区二| 国产成人免费xxxxxxxx| 亚洲成人av在线电影| 亚洲日韩欧美一区二区在线| 精品国产成人系列| 欧美天堂一区二区三区| 成人久久久精品乱码一区二区三区| 亚洲国产日韩一级| 亚洲欧美自拍偷拍色图| 久久综合久久久久88| 5566中文字幕一区二区电影| 91在线观看视频| 91蜜桃婷婷狠狠久久综合9色| 狠狠色伊人亚洲综合成人| 亚洲一区二区三区四区的| 亚洲少妇中出一区| 日本一区二区三区四区| 日韩免费高清电影|