网络识图,delphi识别,百度图片

 时间:2024-10-14 14:44:33

1、放置2个button,2个edit,2个image

网络识图,delphi识别,百度图片

2、button1的过程var ms:TMemoryStream; jpg:TJPEGImage;begin try jpg:=TJPEGImage.Create; ms:=TMemoryStream.Create; idhtp1.Get(edt1.Text,ms); ms.Position:=0; jpg.LoadFromStream(ms); img1.Picture.Assign(jpg); jpg.SaveToFile('c:\123.jpg'); except ms.Free; end;

3、button2的过程,即是识别图片过程,这个过程完全模拟百度上传图片识别var i:Integer; pd:tstringlist; s,sName,sUrljpg:string; ms,ms1:TStringStream; jpg:TJPEGImage;// Cookies : TIdCookieManager; mstrCookie: string;begin try jpg:=TJPEGImage.Create; ms:=TStringStream.Create(''); ms1:=TStringStream.Create(''); img1.Picture.Bitmap.SaveToStream(ms); idhtp1.Request.UserAgent:='Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'; idhtp1.Request.AcceptLanguage:='zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.7,en;q=0.5,es-DO;q=0.3,es;q=0.2'; begin s:=(idhtp1.Post('http://image.baidu.com/pictureup/uploadshitu?' +'fr=flash&fm=index&pos=upload',mps)); s:=(idhtp1.Get('http://image.baidu.com'+s)); sName:=GetStringBetween(s,'guessWord','.split') ; sName:=Trim(StringReplace (sName,'''','', [rfReplaceAll])); sName:=Trim(StringReplace (sName,':','', [rfReplaceAll])); sUrljpg:=GetStringBetween(s,'<img class="guess-newbaike-left-img" src="','<div class="guess-newbaike-left-similarity">') ; sUrljpg:=Trim(StringReplace (sUrljpg,'amp;','', [rfReplaceAll])); sUrljpg:=Trim(StringReplace (sUrljpg,'</div>','', [rfReplaceAll])); sUrljpg:=Trim(StringReplace (sUrljpg,'">','', [rfReplaceAll]));// sUrljpg:=TIdURI.URLDecode(sUrljpg); idhtp1.Request.UserAgent := ''; mstrCookie := 'aaa=5555&bb=12345'; idhtp1.Request.AcceptEncoding := ''; if mstrCookie <> '' then begin idhtp1.Request.CustomHeaders.Add('Cookie: ' + mstrCookie); end; idhtp1.Request.Referer:='https://www.baidu.com'; idhtp1.Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko'; idhtp1.Get(sUrljpg,ms1); ms1.Position:=0; jpg.LoadFromStream(ms1); img2.Picture.Assign(jpg); edt2.Text:='我猜您的图片是:'+Utf8ToAnsi(sName); // ShowMessage(sUrljpg); end; except MPS.Free; ms.Free; ms1.Free; end;

4、必要的过程,取字符串与字符串中间的字符function GetStringBetween(const Ful造婷用痃lStr, StrLeft, StrRight: String): string;varidx_Start,idx_End,iStrCnt: Integer;beginResult:='';idx_Start := Pos(StrLeft,FullStr)+Length(StrLeft);idx_End:= Pos(StrRight,FullStr);iStrCnt:= idx_End - idx_Start;Result:=Copy(FullStr,idx_Start,iStrCnt);end;

网络识图,delphi识别,百度图片
  • 爆柠四季春怎么做?
  • 男人补肾壮阳食物【当归鹿茸炖鸡】
  • 苹果干的做法
  • 泰国菩提岛旅游攻略
  • 干椿叶煎鸡蛋饼
  • 热门搜索
    国庆节的手抄报图片简单又漂亮 做文明人手抄报 动物手抄报大全 鲁迅的手抄报 安全伴我行手抄报内容 军训手抄报内容 有关禁毒的手抄报 我爱校园手抄报内容 手抄报古诗 文明交通我见证手抄报