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

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

?? picofeat.cpp

?? 一OCR的相關資料。.希望對研究OCR的朋友有所幫助.
?? CPP
字號:
/****************************************************************************** **	Filename:    picofeat.c **	Purpose:     Definition of pico-features. **	Author:      Dan Johnson **	History:     9/4/90, DSJ, Created. ** **	(c) Copyright Hewlett-Packard Company, 1988. ** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in compliance with the License. ** You may obtain a copy of the License at ** http://www.apache.org/licenses/LICENSE-2.0 ** Unless required by applicable law or agreed to in writing, software ** distributed under the License is distributed on an "AS IS" BASIS, ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ** See the License for the specific language governing permissions and ** limitations under the License. ******************************************************************************//**----------------------------------------------------------------------------          Include Files and Type Defines----------------------------------------------------------------------------**/#include "picofeat.h"#include "mfoutline.h"#include "variables.h"#include "sigmenu.h"#include "hideedge.h"#include "fpoint.h"#include <math.h>#include "ocrfeatures.h"         //Debug#include <stdio.h>               //Debug#include "efio.h"                //Debug//#include "christydbg.h"#define PICO_FEATURE_LENGTH 0.05/*---------------------------------------------------------------------------          Private Function Prototypes----------------------------------------------------------------------------*/void ConvertSegmentToPicoFeat(FPOINT *Start,                              FPOINT *End,                              FEATURE_SET FeatureSet);void ConvertToPicoFeatures2(MFOUTLINE Outline, FEATURE_SET FeatureSet); void NormalizePicoX(FEATURE_SET FeatureSet); /*#if defined(__STDC__) || defined(__cplusplus)# define	_ARGS(s) s#else# define	_ARGS(s) ()#endif*//* /users/danj/wiseowl/src/danj/microfeatures/picofeat.cvoid ConvertSegmentToPicoFeat  _ARGS((FPOINT *Start,  FPOINT *End,  FEATURE_SET FeatureSet));void ConvertToPicoFeatures2  _ARGS((MFOUTLINE Outline,  FEATURE_SET FeatureSet));void NormalizePicoX  _ARGS((FEATURE_SET FeatureSet));#undef _ARGS*//**----------------------------------------------------------------------------        Global Data Definitions and Declarations----------------------------------------------------------------------------**//**----------------------------------------------------------------------------              Public Code----------------------------------------------------------------------------**//*---------------------------------------------------------------------------*/FEATURE_SET ExtractPicoFeatures(TBLOB *Blob, LINE_STATS *LineStats) { /* **	Parameters: **		Blob		blob to extract pico-features from **		LineStats	statistics on text row blob is in **	Globals: **		NormMethod	normalization method currently specified **	Operation: Dummy for now. **	Return: Pico-features for Blob. **	Exceptions: none **	History: 9/4/90, DSJ, Created. */  LIST Outlines;  LIST RemainingOutlines;  MFOUTLINE Outline;  FEATURE_SET FeatureSet;  FLOAT32 XScale, YScale;  FeatureSet = NewFeatureSet (MAX_PICO_FEATURES);  Outlines = ConvertBlob (Blob);  NormalizeOutlines(Outlines, LineStats, &XScale, &YScale);   RemainingOutlines = Outlines;  iterate(RemainingOutlines) {     Outline = (MFOUTLINE) first (RemainingOutlines);    /*---------Debug--------------------------------------------------*    OFile = fopen ("f:/ims/debug/pfOutline.logCPP", "r");    if (OFile == NULL)    {      OFile = Efopen ("f:/ims/debug/pfOutline.logCPP", "w");      WriteOutline(OFile, Outline);    }    else    {      fclose (OFile);      OFile = Efopen ("f:/ims/debug/pfOutline.logCPP", "a");    }    WriteOutline(OFile, Outline);    fclose (OFile);    *--------------------------------------------------------------------*/    ConvertToPicoFeatures2(Outline, FeatureSet);   }  if (NormMethod == baseline)    NormalizePicoX(FeatureSet);   /*---------Debug--------------------------------------------------*  File = fopen ("f:/ims/debug/pfFeatSet.logCPP", "r");  if (File == NULL)  {    File = Efopen ("f:/ims/debug/pfFeatSet.logCPP", "w");    WriteFeatureSet(File, FeatureSet);  }  else  {    fclose (File);    File = Efopen ("f:/ims/debug/pfFeatSet.logCPP", "a");  }  WriteFeatureSet(File, FeatureSet);  fclose (File);  *--------------------------------------------------------------------*/  FreeOutlines(Outlines);   return (FeatureSet);}                                /* ExtractPicoFeatures *//*---------------------------------------------------------------------------*/void InitPicoFXVars() { /* **	Parameters: none **	Globals: **		PicoFeatureLength	controls length of pico-features **	Operation: Initialize the pico-feature extractor variables that can **		be tuned without recompiling. **	Return: none **	Exceptions: none **	History: 9/4/90, DSJ, Created. */	VALUE dummy;		float_variable (PicoFeatureLength, "PicoFeatureLength",		PICO_FEATURE_LENGTH);	}														/* InitPicoFXVars *//**----------------------------------------------------------------------------              Private Code----------------------------------------------------------------------------**//*---------------------------------------------------------------------------*/void ConvertSegmentToPicoFeat(FPOINT *Start,                              FPOINT *End,                              FEATURE_SET FeatureSet) {/* **	Parameters: **		Start		starting point of pico-feature **		End		ending point of pico-feature **		FeatureSet	set to add pico-feature to **	Globals: **		PicoFeatureLength	length of a single pico-feature **	Operation: This routine converts an entire segment of an outline **		into a set of pico features which are added to **		FeatureSet.  The length of the segment is rounded to the **		nearest whole number of pico-features.  The pico-features **		are spaced evenly over the entire segment. **	Return: none (results are placed in FeatureSet) **	Exceptions: none **	History: Tue Apr 30 15:44:34 1991, DSJ, Created. */  FEATURE Feature;  FLOAT32 Angle;  FLOAT32 Length;  int NumFeatures;  FPOINT Center;  FPOINT Delta;  int i;  Angle = NormalizedAngleFrom (Start, End, 1.0);  Length = DistanceBetween (*Start, *End);  NumFeatures = (int) floor (Length / PicoFeatureLength + 0.5);  if (NumFeatures < 1)    NumFeatures = 1;  /* compute vector for one pico feature */  Xof (Delta) = XDelta (*Start, *End) / NumFeatures;  Yof (Delta) = YDelta (*Start, *End) / NumFeatures;  /* compute position of first pico feature */  Xof (Center) = Xof (*Start) + Xof (Delta) / 2.0;  Yof (Center) = Yof (*Start) + Yof (Delta) / 2.0;  /* compute each pico feature in segment and add to feature set */  for (i = 0; i < NumFeatures; i++) {    Feature = NewFeature (&PicoFeatDesc);    ParamOf (Feature, PicoFeatDir) = Angle;    ParamOf (Feature, PicoFeatX) = Xof (Center);    ParamOf (Feature, PicoFeatY) = Yof (Center);    AddFeature(FeatureSet, Feature);     Xof (Center) += Xof (Delta);    Yof (Center) += Yof (Delta);  }}                                /* ConvertSegmentToPicoFeat *//*---------------------------------------------------------------------------*/void ConvertToPicoFeatures2(MFOUTLINE Outline, FEATURE_SET FeatureSet) { /* **	Parameters: **		Outline		outline to extract micro-features from **		FeatureSet	set of features to add pico-features to **	Globals: **		PicoFeatureLength	length of features to be extracted **	Operation: **		This routine steps thru the specified outline and cuts it **		up into pieces of equal length.  These pieces become the **		desired pico-features.  Each segment in the outline **		is converted into an integral number of pico-features. **	Return: none (results are returned in FeatureSet) **	Exceptions: none **	History: 4/30/91, DSJ, Adapted from ConvertToPicoFeatures(). */  MFOUTLINE Next;  MFOUTLINE First;  MFOUTLINE Current;  if (DegenerateOutline (Outline))    return;  First = Outline;  Current = First;  Next = NextPointAfter (Current);  do {    /* note that an edge is hidden if the ending point of the edge is       marked as hidden.  This situation happens because the order of       the outlines is reversed when they are converted from the old       format.  In the old format, a hidden edge is marked by the       starting point for that edge. */    if (IsVisible (PointAt (Next)))      ConvertSegmentToPicoFeat (&(PositionOf (PointAt (Current))),        &(PositionOf (PointAt (Next))), FeatureSet);    Current = Next;    Next = NextPointAfter (Current);  }  while (Current != First);}                                /* ConvertToPicoFeatures2 *//*---------------------------------------------------------------------------*/void NormalizePicoX(FEATURE_SET FeatureSet) { /* **	Parameters: **		FeatureSet	pico-features to be normalized **	Globals: none **	Operation: This routine computes the average x position over all **		of the pico-features in FeatureSet and then renormalizes **		the pico-features to force this average to be the x origin **		(i.e. x=0). **	Return: none (FeatureSet is changed) **	Exceptions: none **	History: Tue Sep  4 16:50:08 1990, DSJ, Created. */  int i;  FEATURE Feature;  FLOAT32 Origin = 0.0;  for (i = 0; i < NumFeaturesIn (FeatureSet); i++) {    Feature = FeatureIn (FeatureSet, i);    Origin += ParamOf (Feature, PicoFeatX);  }  Origin /= NumFeaturesIn (FeatureSet);  for (i = 0; i < NumFeaturesIn (FeatureSet); i++) {    Feature = FeatureIn (FeatureSet, i);    ParamOf (Feature, PicoFeatX) -= Origin;  }}                                /* NormalizePicoX */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩亚洲国产综合| 国产成人精品1024| 国产精品国产自产拍高清av| 6080国产精品一区二区| 在线视频一区二区三| 大桥未久av一区二区三区中文| 麻豆高清免费国产一区| 免费在线观看一区二区三区| 一区二区三区中文免费| 综合av第一页| 中文字幕一区二区三区蜜月| 亚洲乱码国产乱码精品精98午夜 | 午夜激情一区二区三区| 午夜精品国产更新| 亚洲国产视频直播| 激情深爱一区二区| 男人操女人的视频在线观看欧美| 久久精品99国产国产精| 韩国欧美国产1区| 国产成a人无v码亚洲福利| 色八戒一区二区三区| 91精品国产综合久久久久久漫画| 欧美人妇做爰xxxⅹ性高电影| 91精品欧美综合在线观看最新 | 樱花草国产18久久久久| 无码av免费一区二区三区试看| 视频一区中文字幕| 韩国一区二区三区| 色又黄又爽网站www久久| 欧美高清视频不卡网| 精品国产免费一区二区三区四区 | 国产91在线看| 欧美片网站yy| ...av二区三区久久精品| 亚洲成人7777| 一本色道综合亚洲| 日韩欧美成人激情| 亚洲日穴在线视频| 日韩精品一级中文字幕精品视频免费观看| 国产一区二区女| 欧洲国产伦久久久久久久| 日韩精品一区二区三区四区| 亚洲午夜精品久久久久久久久| 国产成人丝袜美腿| 91精品国产乱| 亚洲欧洲成人精品av97| 国产最新精品免费| 日韩欧美国产电影| 日本怡春院一区二区| 欧美精品三级在线观看| 亚洲乱码国产乱码精品精小说| 丁香另类激情小说| 亚洲免费电影在线| 国内成人自拍视频| 欧美精品久久久久久久多人混战| 亚洲欧美国产毛片在线| 国产成人午夜视频| 国产日韩欧美精品一区| 成人午夜免费av| 亚洲婷婷国产精品电影人久久| 成人精品电影在线观看| 成人欧美一区二区三区1314| voyeur盗摄精品| 亚洲精品欧美二区三区中文字幕| 在线免费观看日本欧美| 肉色丝袜一区二区| 精品久久久久久最新网址| 精品午夜一区二区三区在线观看| 欧美一区日韩一区| 国产真实乱偷精品视频免| 精品国产成人在线影院 | 成人精品一区二区三区中文字幕| 国产精品乱码一区二区三区软件| 色综合久久综合网97色综合| 丝袜诱惑制服诱惑色一区在线观看| 日韩欧美一级精品久久| 国产一区二区三区日韩| 美国十次综合导航| 国产精品国产三级国产aⅴ入口 | 中文字幕av资源一区| 欧美日韩亚洲综合| 久久99在线观看| 亚洲精品高清在线| 欧美成人aa大片| 欧美三级乱人伦电影| 顶级嫩模精品视频在线看| 一区二区在线观看av| 久久久九九九九| 欧美三级韩国三级日本一级| 精品一二线国产| 午夜欧美在线一二页| 国产精品国产三级国产普通话99| 欧美一区二区日韩| 欧美性感一区二区三区| 国产成人精品亚洲777人妖 | 麻豆成人免费电影| 亚洲国产精品尤物yw在线观看| 久久精品欧美日韩| 日韩欧美国产小视频| 欧美在线观看禁18| 欧美午夜一区二区| 91久久人澡人人添人人爽欧美| 成人精品一区二区三区中文字幕| 久久99久久精品欧美| 视频一区二区中文字幕| 亚洲一区二区三区三| 亚洲午夜一区二区三区| 亚洲激情校园春色| 亚洲精品国产第一综合99久久| 亚洲欧洲成人自拍| 亚洲欧美日韩国产手机在线| 国产精品免费久久久久| 国产精品免费丝袜| 国产精品九色蝌蚪自拍| 亚洲少妇30p| 亚洲va韩国va欧美va精品| 免费欧美日韩国产三级电影| 国产美女在线观看一区| 成人污视频在线观看| 色悠久久久久综合欧美99| 欧美在线视频你懂得| 欧美嫩在线观看| 精品免费一区二区三区| 欧美韩日一区二区三区| 亚洲精品成a人| 久久成人麻豆午夜电影| 国产69精品久久99不卡| 97超碰欧美中文字幕| 在线电影一区二区三区| 久久婷婷色综合| 亚洲午夜一区二区| 国产精品77777| 精品视频1区2区| 欧美激情一区二区| 亚洲尤物在线视频观看| 国产成人三级在线观看| 欧美精品一二三区| 国产精品私人影院| 日本亚洲天堂网| 一本到三区不卡视频| 国产日韩欧美高清| 精品一二三四区| 欧美三级日韩三级| 亚洲男女毛片无遮挡| 国产精品小仙女| 欧美一级二级在线观看| 亚洲精品综合在线| 欧美日韩国产区一| 国产精品理伦片| 国产一区亚洲一区| 久久新电视剧免费观看| 精品一区二区三区不卡| 欧美成人精品3d动漫h| 日产欧产美韩系列久久99| 欧美一a一片一级一片| 亚洲精选视频在线| 色婷婷国产精品| 久久91精品国产91久久小草| 69av一区二区三区| 日韩激情一区二区| 69久久夜色精品国产69蝌蚪网| 午夜精品久久久久影视| 3d动漫精品啪啪一区二区竹菊| 一区二区欧美国产| 欧美日韩一区成人| 日本成人在线电影网| 日韩精品一区二区三区视频在线观看 | 午夜精品久久久久久久蜜桃app| 欧美特级限制片免费在线观看| 午夜久久久影院| 久久久亚洲精品一区二区三区| 成人夜色视频网站在线观看| 成人欧美一区二区三区| 91国产视频在线观看| 免费观看一级特黄欧美大片| 国产欧美久久久精品影院| 在线观看日韩毛片| 蜜臀av一区二区三区| 日本一区二区视频在线| 91在线播放网址| 午夜视频一区二区| 欧美国产丝袜视频| 欧美一卡2卡三卡4卡5免费| 极品少妇xxxx偷拍精品少妇| 中文字幕一区二区不卡| 欧美一区中文字幕| 91美女在线观看| 国产精品综合av一区二区国产馆| 亚洲精品一卡二卡| 国产亚洲精品资源在线26u| 色天天综合久久久久综合片| 国产精品亚洲а∨天堂免在线| 亚洲综合久久久| 亚洲三级在线看| 国产精品欧美一区喷水| 精品国产一区a| 日韩一级精品视频在线观看| 99久久国产综合精品女不卡| 国产suv精品一区二区883| 日本亚洲天堂网|