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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? picofeat.cpp

?? 一個google的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_node (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 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线国偷精品免费看| 国产又黄又大久久| 日韩午夜在线播放| 色偷偷久久人人79超碰人人澡 | 亚洲高清免费视频| 国产亚洲一区二区在线观看| 欧美精品一二三四| 91亚洲精品久久久蜜桃| 国产综合久久久久久鬼色| 性久久久久久久| 亚洲成人免费观看| 一区二区三区鲁丝不卡| 国产精品情趣视频| 久久综合久色欧美综合狠狠| 欧美精品1区2区| 欧美日韩在线播| 在线看一区二区| 91福利小视频| 欧美日韩激情在线| 欧美精品1区2区3区| 精品久久久久久久久久久久久久久久久 | 欧美videos大乳护士334| 欧美做爰猛烈大尺度电影无法无天| 国产99精品在线观看| 成人激情免费视频| 成人爱爱电影网址| 色悠悠久久综合| 欧美日韩综合在线| 欧美一区二区精品在线| 91精品国产综合久久久蜜臀粉嫩 | 午夜久久久久久久久| 一区二区久久久| 亚洲成人av免费| 男男gaygay亚洲| 国产在线一区二区| 欧美一区二区三区白人| 欧美日韩aaaaa| 精品国内片67194| 久久蜜桃av一区精品变态类天堂| 国产亚洲女人久久久久毛片| 亚洲欧美日韩国产综合| 日本成人中文字幕在线视频| 国产成人精品免费看| 91久久精品网| 久久精品一区二区三区不卡 | 国产精品国产三级国产aⅴ入口 | 欧美tickling网站挠脚心| 国产网红主播福利一区二区| 亚洲色图制服丝袜| 精彩视频一区二区三区 | 91啪亚洲精品| 久久综合视频网| 亚洲国产aⅴ成人精品无吗| 国产成a人亚洲| 69久久夜色精品国产69蝌蚪网| 国产亚洲女人久久久久毛片| 青青草一区二区三区| 91在线视频网址| 欧美激情一区二区三区全黄| 日日夜夜精品视频免费| 在线观看日韩高清av| 亚洲欧美中日韩| 国产91精品精华液一区二区三区 | 日韩三级视频中文字幕| 亚洲国产精品久久不卡毛片| 91蝌蚪porny| 国产呦萝稀缺另类资源| 欧美日韩一区 二区 三区 久久精品| 中文字幕av一区 二区| 国产美女av一区二区三区| 日韩一区二区免费视频| 日日夜夜精品视频天天综合网| 欧美视频在线不卡| 亚洲国产精品久久人人爱| 色哟哟一区二区| 亚洲成人你懂的| 欧美一区国产二区| 日本aⅴ精品一区二区三区| 宅男在线国产精品| 国模一区二区三区白浆| 日韩免费视频线观看| 韩国三级中文字幕hd久久精品| www久久精品| 91亚洲精品一区二区乱码| 亚洲精品视频在线观看网站| 欧美日韩欧美一区二区| 免费成人美女在线观看| 亚洲国产精品v| 欧美系列日韩一区| 黄页网站大全一区二区| 一本到一区二区三区| 精品成人佐山爱一区二区| 国产美女一区二区三区| 亚洲精选在线视频| 欧美老女人在线| 国产成人亚洲综合a∨婷婷 | 亚洲bt欧美bt精品777| 2020国产精品| 精品精品国产高清a毛片牛牛| 久久 天天综合| 一区二区三区四区蜜桃| 精品国产91乱码一区二区三区| 国产成人精品www牛牛影视| 亚洲综合免费观看高清完整版在线 | 欧美一区二区三区不卡| 99精品国产视频| 福利一区福利二区| 激情深爱一区二区| 亚洲成人免费av| 亚洲激情成人在线| 中文字幕 久热精品 视频在线| 欧美一区二区三区影视| 欧美在线不卡视频| 91精彩视频在线| 91在线观看成人| av不卡免费电影| 丁香啪啪综合成人亚洲小说| 国内精品写真在线观看| 久久99国产乱子伦精品免费| 免费成人你懂的| 日韩高清电影一区| 奇米精品一区二区三区在线观看一| 麻豆成人久久精品二区三区小说| 一区二区三区精密机械公司| 国产精品欧美综合在线| 国产欧美一区二区三区网站| 久久久亚洲欧洲日产国码αv| 2022国产精品视频| 欧美激情一区二区三区全黄| 国产亚洲成年网址在线观看| 中文字幕欧美日韩一区| 亚洲国产高清在线| 亚洲自拍偷拍麻豆| 麻豆极品一区二区三区| 精品在线观看免费| 国产69精品久久久久777| 成人综合在线视频| 色狠狠一区二区| 日韩免费在线观看| 欧美国产日韩亚洲一区| 一区二区三区在线观看国产| 日韩成人一级片| 成人激情动漫在线观看| 欧美三级视频在线| 精品国产乱码久久久久久牛牛| 国产精品精品国产色婷婷| 亚洲高清不卡在线观看| 国产精品一区二区果冻传媒| 99久久伊人网影院| 日韩免费电影网站| 日韩码欧中文字| 麻豆成人91精品二区三区| 97久久人人超碰| 欧美va亚洲va国产综合| 亚洲精品国产高清久久伦理二区| 日本亚洲电影天堂| 在线观看亚洲a| 国产精品无遮挡| 久久91精品久久久久久秒播| 欧美性欧美巨大黑白大战| 国产清纯在线一区二区www| 免费观看一级欧美片| 色呦呦国产精品| 国产精品午夜春色av| 精品午夜一区二区三区在线观看| 在线观看一区日韩| 亚洲女人****多毛耸耸8| 亚洲色图色小说| 婷婷久久综合九色国产成人| 一本到一区二区三区| 亚洲欧洲av在线| av电影天堂一区二区在线| 久久欧美一区二区| 国模一区二区三区白浆| 日韩欧美精品三级| 美日韩一级片在线观看| 欧美一区二区三区在线观看视频 | 黄色日韩网站视频| 精品国产一区二区三区四区四 | 色婷婷久久久综合中文字幕| 中文字幕一区不卡| 欧美视频一区在线| 爽好久久久欧美精品| 日韩欧美国产1| 福利电影一区二区| 一区二区三区精密机械公司| 欧美在线不卡一区| 久久精品国产亚洲高清剧情介绍| 久久色在线视频| 成人国产一区二区三区精品| 亚洲色欲色欲www在线观看| 欧美日韩在线播放| 国产乱码字幕精品高清av| 亚洲视频在线观看一区| 在线成人免费观看| 国产精品主播直播| 亚洲一区二区三区免费视频| 日韩三级精品电影久久久| 成人av中文字幕| 青青草原综合久久大伊人精品|