Klez Posted August 19, 2004 Report Share Posted August 19, 2004 ir taada doma uzcepinaat scriptu, kas ljauj suutiit sms bez taa kodinja. bet doma i uzbuuveet taa lai lunux nav jaaiejauc. tiiru uz php baazes. tikai taa iisti nevaru saprast ar k lai saak. <? $fd=fopen("http://www.lmt.lv/lv/index.php?pageid=3005001006","r"); while ($line=fgets($fd,1000)) { $bla.=$line; } fclose ($fd); $kods = explode("Tavs autorizācijas kods",$bla,100); $kods_tmp = strip_tags($kods[1],"<img>"); $img_url = substr($kods_tmp,15,48); //bildiites adrese ?> <img src="<?="http://www.lmt.lv".$img_url;?>" border="0"> te dabuu to bildiiti. manas domas ir shaadas: 1) bildei vaig fonu novaakt; (nezinu vai tas i iespeejams) 2) tos burtus vaig nolasiit; tikai nav ne jausmas kaa lai to izdara. es te meeginaaju ar visaadaam funkcijaam uzdabuut tai bildiitei baltu fonu, bet man nesanaak. ne kaadu error raada nekaa. pilniigi neko. varbuut kaac var ievirziit mani pareizajaa virzienaa. ar ko saakt. kaadas f-cijas izmantot. kaadaa kaartiibaa to bildiiti apstraadaat??? paliidziet ljautinji!!! :o Link to comment Share on other sites More sharing options...
bubu Posted August 19, 2004 Report Share Posted August 19, 2004 Rādi piemēru, kā tu to dari, tad mēs rādīsim, kur tev tur ir kļūdas :) Es starp citu, pirms pāris mēnešiem šito mēģināju, bet nebij daudz brīvā laika, un arī nekas prātīgs nesanāca. Ideja bij tāda, sākumā bildi pataisam uz melnbalto, tas bij triviāli. Tad palika tās restes un burti melli. Tjipa ieguvu divdimensiju masīvu no booleaniem. Tad vajadzēja novāk restes. Vot šeit bija problēmas. Pārāk tā bilde izkropļojās, kautgan visādus variantus izmēģinājos. Nu un tad kad to izdarīju, tad sadalīju bildi trīs daļās, katrā savs burts/cipars un laidu atsevišķos fragmentus jau iepriekš sataisītā neironu tīklā, bet nu saku, tā kā tā rūtiņu novākšana pamatīgi sabojāja bildi, tad mans tīkls pareizi atpazina tikai apmēram 70% gadījumu. Un tas ir par maz. Link to comment Share on other sites More sharing options...
Venom Posted August 19, 2004 Report Share Posted August 19, 2004 1) nu, lai fonu dabūtu nost var padarboties ar imagefill() iekš kvadrātiņiem imageline() pa rūtiņu režģi, rūtiņas savukārt var uzminēt, pastaigājoties ar imagecolorat ā) no augšas uz leju dažus pikšeļus pa labi no augšējās kreisās malas bē) no kreisās uz labo, dažus piekšeļus no augšas - kamēr nesastop to viņu savādo krāsu. 2) te būs grūtāk. viens variants - no komandrindas barot imagu kaut kādam command-line OCR (go google, linuxam droši vien kaut kas tāds iraid) vēlams pirms tam burtus savienot (ejot no augšas uz leju vai no "sāņiem" pārbaudām, ja pikselis = fona krāsā, bet pikselis+1 un pikselis-1 - tajā sarkanā, tad aizplūdinām arī). Ja komandrindas OCR nav atrodams/izmantojams, tad mans tālākais variants: ā) cītīgi jāpiestrāda pie burtu atpakaļsavienošanas, lai, vienalga kāds tas režģis būtu, beigu rezultātā apstrādāts burts piekselis pikselī būtu vienāds bē) sagraizam bildi 3jos burtos (ejot no kreisās uz labo meklējam vertikālo līniju, kas pilnība fona krāsā un nograizam līdz tai) cē) apgraizam katru burtu līdz minimumam (ķipa crop) dē) ieglabājam kā šablonu ē) šim šablonam piešķiram tajā redzamā burta nosaukumu pie jaunās bildes saņemšanas izpildām fonošanu, 2ā līdz 2cē un tad salīdzinām ar esošiem šabloniem nu tas tā, pafantazējot Link to comment Share on other sites More sharing options...
Venom Posted August 19, 2004 Report Share Posted August 19, 2004 Rādi piemēru, kā tu to dari, tad mēs rādīsim, kur tev tur ir kļūdas :) ... Un tas ir par maz. patīkami apzināties, ka idejas līdzinās neirontīkliņš paštaisīts? (nekad neesmu nodarbojies, bet vēlme ir) Link to comment Share on other sites More sharing options...
Venom Posted August 19, 2004 Report Share Posted August 19, 2004 ak jā - rūtiņus arī var noņemt pārbaudot, vai līnija ir vienkrāsaina visā tās garumā ;) Link to comment Share on other sites More sharing options...
Klez Posted August 19, 2004 Author Report Share Posted August 19, 2004 varbuut vari iedot to scriptu, kas uztaisa malenbaltu to bildiiti? es meeginaaju ar imagecolorallocate nekaa nesanaaca. es meeginaaju vairaakas funkcijas no shitaadas f-cijas <? function gfx_create($text) { $img=ImageCreate(18,16); $bg=ImageColorAllocate($img,0,0,0); $txt=ImageColorAllocate($img,136,0,0); $trans=imagecolortransparent($img,$bg); ImageString($img,5,1,1,"$text",$txt); return $img; } echo gfx_create("5"); ?> sanjeemu error : Resource id #2 Link to comment Share on other sites More sharing options...
bubu Posted August 19, 2004 Report Share Posted August 19, 2004 Nu es to fonu ņēmu nost daudz triviālāk. Apskatījos simbolu RGB krāsu, un tad pa visiem pikseļiem taisīju ciklu un skatījos vai viņa max par 2 neatšķirās no tās defaultās krāsas, ja nē, tad tas ir rūtiņas/burta pikselis, ja atšķirās, tad nav - tas ir fons. Rūtiņas ņemot nost visā garumā, var baigie caurumi pazust no burtiem/cipariem. Neironu tīklu pats taisīju (diezgan primitīvu, speciāli šim gadījumam). Vienkāršs vienslāņa perceptons un, laikam arī biju eksperimentējis ar kohonena pašapmācošo tīklu, bet ar to mazāki panākumi, jo tie simboli šausmīgi izkropļoti bija pēc rūtiņu noņemšanas. Link to comment Share on other sites More sharing options...
bubu Posted August 19, 2004 Report Share Posted August 19, 2004 (edited) sanjeemu error : Resource id #2 Nu loģiski, ka resource id#2, man piemēram ir #4. Tak palasi manuālī kā bildes vajag izvadīt! Ne jau ar echo, bet ar imagepng/imagegif/imagejpg! Un tu domā, ka savā fontā uzdrukājot to 5, tu varēsi salīdzināt ar viņu bildēm? Nezinu gan vai tā varēs, bet nu mēģināt jau var! Edited August 19, 2004 by bubu Link to comment Share on other sites More sharing options...
Klez Posted August 19, 2004 Author Report Share Posted August 19, 2004 bubu vari pateikt ar kaadu f-ciju tu apskati pixeli. vai kaadu piemeeru imagesetpixel - ar tu var nokraasot pixeli. nav ne jausmas ar ko saakt Link to comment Share on other sites More sharing options...
bubu Posted August 19, 2004 Report Share Posted August 19, 2004 Es pikseļus nolasu tā kā rādīts php manuāļī: <?php $rgb = ImageColorAt($im, 100, 100); $r = ($rgb >> 16) & 0xFF; $g = ($rgb >> 8) & 0xFF; $b = $rgb & 0xFF; ?> A krāsot pikseļus es nekrāsoju, domāju tas nebūs pārāk ātri. Es visu bildi lasu savā - boolean - masīvā. Link to comment Share on other sites More sharing options...
Klez Posted August 19, 2004 Author Report Share Posted August 19, 2004 man ienaaca viena ideja paraataa. vareetu tai bildiitei (kodam) nolasiit auksheejo striipu, kas ir pashaa aukshaa. un izmeeriit cik vinja liela. un tad novaakt sviitras horizontaal un vertikaali, kuras ir tik platas kaa auksheejaa, jo vinjas ir vienaadaa platumaa. kaac var ieteikt f-cijas ar kuraam to izdariit? kaut ko ar ko saakt... Link to comment Share on other sites More sharing options...
bubu Posted August 20, 2004 Report Share Posted August 20, 2004 (edited) Tās horizontālās un vertikālās svītras ir ik pa 10 pikseļiem. Ja grib triviāli viņas aizvietot ar fona krasu, dari apmēram šitā (tiešām nesaprotu, kas te ko pašam to neizdomāt): // $width - bildes platums, $height - bildes augstums // horizontālās restes for ($y=$augsejas_sviitras_rindinja; $y<$height; $y+=10) { for ($x=$0; $x<$width; $x++) { // bildei pozīcijā $x un $y uzliec pikseli fona krāsā } } // vertikālās restes for ($x=$kreisaas_sviitras_kolonna; $x<$width; $x+=10) { for ($y=$0; $y<$height; $y++) { // bildei pozīcijā $x un $y uzliec pikseli fona krāsā } } Vienīgi ko tu domāji ar "vareetu tai bildiitei nolasiit auksheejo striipu, kas ir pashaa aukshaa. un izmeeriit cik vinja liela" gan nesapratu. Edited August 20, 2004 by bubu Link to comment Share on other sites More sharing options...
Klez Posted August 20, 2004 Author Report Share Posted August 20, 2004 to es domaaju taa, ka tam kodam pashaa aukshaa ir horizontaala sviitra. un taaa neshkeerso nevienu burtu vai ciparu. tad vareetu nolasiit to striipu. un tad aizstaat horizontaalaas un vertikaalaas striipas kuras ir noteiktaa platumaa ar fona kraasu. meeginaashu kaut ku uzmeikot Link to comment Share on other sites More sharing options...
Venom Posted August 20, 2004 Report Share Posted August 20, 2004 Me reku no rīta padomāja un izdomāja kaut ko šādu: http://paste.php.lv/1188 Speciāli beigās ūztaisīju bildi lielāku, lai parādītu, ka dažviet burtos paliek "tukšumi", kas varētu OCRam radīt problēmas. Šo probzu var apiet, ja bildi no sākuma padarīt par divkrāsainu http://paste.php.lv/1189. Bet tur atkal imagecolorclosest() dažviet melo. Vajadzētu izštukot kaut kādu regulējamo "melnbaltinātāju", lai varētu notjūnot pāreju robežu no vienas krāsas uz otru. Kāds varētu uzinstalēt uz sava linuša gocr/jocr komandrindas OCR un pamēģināt kāds rezultāts iznāk. NB abos kodos bilde reizēm nogļuko, jo kāda no image* funkcijām atgriež nepareizu vērtību (vismaz man tā škiet). Varbūt varētu ārstēt ieliekot sleep pa vidu. Link to comment Share on other sites More sharing options...
des Posted August 20, 2004 Report Share Posted August 20, 2004 Neironu tīklu pats taisīju (diezgan primitīvu, speciāli šim gadījumam). Vienkāršs vienslāņa perceptons un, laikam arī biju eksperimentējis ar kohonena pašapmācošo tīklu, bet ar to mazāki panākumi, jo tie simboli šausmīgi izkropļoti bija pēc rūtiņu noņemšanas. Ar vienslaanja perceptronu toch vareetu buut par maz, jo vienslaanjnieki ir baigi vaajie. Vajag daudzslaanju. Bet tie savukaart bremzee :/ Link to comment Share on other sites More sharing options...
Recommended Posts