{ "cells": [ { "cell_type": "markdown", "id": "80476237", "metadata": {}, "source": [ "# Detect Text in Newspaper Images with Feluda\n", "\n", "This example demonstrates how to use the `DetectTextInImage` operator to extract text\n", "from newspaper images. It processes multiple newspaper clippings and displays the\n", "detected text with proper formatting and analysis." ] }, { "cell_type": "markdown", "id": "9d8c9f48", "metadata": {}, "source": [ "[![GitHub](https://img.shields.io/badge/GitHub-View%20Source-blue?logo=github)](https://github.com/tattle-made/feluda/blob/main/docs/examples/find_text_in_newspaper.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/tattle-made/feluda/blob/main/docs/examples/find_text_in_newspaper.ipynb)" ] }, { "cell_type": "markdown", "id": "1b60aae8", "metadata": {}, "source": [ "Install dependencies conditionally based on whether the notebook is running in Colab or locally." ] }, { "cell_type": "code", "execution_count": null, "id": "88312de2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running Notebook locally\n", "\u001b[2mUsing Python 3.10.12 environment at: /home/aatman/Aatman/Tattle/feluda/.venv\u001b[0m\n", "\u001b[2mAudited \u001b[1m6 packages\u001b[0m \u001b[2min 11ms\u001b[0m\u001b[0m\n", "CPU times: user 6.38 ms, sys: 4.13 ms, total: 10.5 ms\n", "Wall time: 138 ms\n" ] } ], "source": [ "%%time\n", "import sys\n", "\n", "IN_COLAB = \"google.colab\" in sys.modules\n", "print(\"Running Notebook in Google Colab\" if IN_COLAB else \"Running Notebook locally\")\n", "\n", "if IN_COLAB:\n", " # Since Google Colab has preinstalled libraries like tensorflow and numba, we create a folder called feluda_custom_venv and isolate the environment there.\n", " # This is done to avoid any conflicts with the preinstalled libraries.\n", " %pip install uv\n", " !mkdir -p /content/feluda_custom_venv\n", " !uv pip install --target=/content/feluda_custom_venv --prerelease allow feluda feluda-detect-text-in-image-tesseract > /dev/null 2>&1\n", "\n", " sys.path.insert(0, \"/content/feluda_custom_venv\")\n", "else:\n", " !uv pip install feluda feluda-detect-text-in-image-tesseract opencv-python matplotlib > /dev/null 2>&1" ] }, { "cell_type": "markdown", "id": "07d21783-b48c-4d4f-8a46-840b4ac0aaa6", "metadata": {}, "source": [ "We'll use one operator for this example, for detecting text from newspaper clippings. Let's initialize the operator." ] }, { "cell_type": "code", "execution_count": null, "id": "de8f9d53-86f4-4a5a-ae76-768fc002852a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Warning: Some required language packs are not installed: hin, tam, tel\n", "OCR may not work correctly for these languages.\n" ] } ], "source": [ "from feluda.factory import ImageFactory\n", "from feluda.operators import DetectTextInImage\n", "\n", "detector = DetectTextInImage(psm=6, oem=1)" ] }, { "cell_type": "markdown", "id": "042c5038", "metadata": {}, "source": [ "Image links for the newspaper-clippings" ] }, { "cell_type": "code", "execution_count": 2, "id": "485fb7e3-3de6-4712-933e-b960165cd1b5", "metadata": {}, "outputs": [], "source": [ "newspaper_image_links = [\n", " \"https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news1.png\",\n", " \"https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news2.png\",\n", " \"https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news3.png\",\n", " \"https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news4.png\",\n", " \"https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news5.png\",\n", " \"https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news6.png\",\n", " \"https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news7.png\",\n", "]" ] }, { "cell_type": "markdown", "id": "f5e61d0d", "metadata": {}, "source": [ "Download each image and extract text using the operator" ] }, { "cell_type": "code", "execution_count": 4, "id": "4048a515-a557-48ea-9753-ee38fdbca60a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Processing image 1/7...\n", "Downloading image from URL\n", "\n", "Image downloaded\n", "✓ Extracted 2345 chars, 421 words\n", "Processing image 2/7...\n", "Downloading image from URL\n", "\n", "Image downloaded\n", "✓ Extracted 4036 chars, 587 words\n", "Processing image 3/7...\n", "Downloading image from URL\n", "\n", "Image downloaded\n", "✓ Extracted 2983 chars, 493 words\n", "Processing image 4/7...\n", "Downloading image from URL\n", "\n", "Image downloaded\n", "✓ Extracted 1814 chars, 308 words\n", "Processing image 5/7...\n", "Downloading image from URL\n", "\n", "Image downloaded\n", "✓ Extracted 668 chars, 120 words\n", "Processing image 6/7...\n", "Downloading image from URL\n", "\n", "Image downloaded\n", "✓ Extracted 3152 chars, 523 words\n", "Processing image 7/7...\n", "Downloading image from URL\n", "\n", "Image downloaded\n", "✓ Extracted 1449 chars, 273 words\n" ] } ], "source": [ "results = []\n", "for i, image_url in enumerate(newspaper_image_links, 1):\n", " print(f\"Processing image {i}/{len(newspaper_image_links)}...\")\n", "\n", " try:\n", " # Convert GitHub blob URL to CDN raw URL for direct download\n", " raw_url = image_url.replace(\"/blob/\", \"/raw/\")\n", "\n", " # Download image using ImageFactory\n", " image_obj = ImageFactory.make_from_url_to_path(raw_url)\n", "\n", " # Extract text using the detector\n", " detected_text = detector.run(image_obj, remove_after_processing=True)\n", "\n", " # Store results\n", " result = {\n", " \"image_number\": i,\n", " \"url\": image_url,\n", " \"text\": detected_text.strip(),\n", " \"text_length\": len(detected_text.strip()),\n", " \"word_count\": len(detected_text.split())\n", " if detected_text.strip()\n", " else 0,\n", " }\n", " results.append(result)\n", " print(\n", " f\"✓ Extracted {result['text_length']} chars, {result['word_count']} words\"\n", " )\n", "\n", " except (FileNotFoundError, RuntimeError, ValueError) as e:\n", " print(f\"✗ Error processing image {i}: {e}\")\n", " continue" ] }, { "cell_type": "markdown", "id": "02524f9a-c859-4bb2-bb36-363af8096df5", "metadata": {}, "source": [ "Display the results neatly." ] }, { "cell_type": "code", "execution_count": null, "id": "2fdf5788-95ff-4c60-b98b-18adf33ce2d3", "metadata": {}, "outputs": [], "source": [ "def display_results(results: list[dict]) -> None:\n", " \"\"\"Display the results of text detection in a formatted manner.\n", " \"\"\"\n", " if not results:\n", " print(\"No images were successfully processed.\")\n", " return\n", "\n", " # Summary statistics\n", " total_images = len(results)\n", " total_characters = sum(r[\"text_length\"] for r in results)\n", " total_words = sum(r[\"word_count\"] for r in results)\n", "\n", " print(\n", " f\"\\nSUMMARY: {total_images} images, {total_characters:,} chars, {total_words:,} words\"\n", " )\n", " print(\n", " f\"Average: {total_characters // total_images if total_images > 0 else 0:,} chars/image, {total_words // total_images if total_images > 0 else 0:,} words/image\"\n", " )\n", "\n", " # Detailed results for each image\n", " for result in results:\n", " print(f\"\\n--- IMAGE #{result['image_number']} ---\")\n", " print(f\"URL: {result['url']}\")\n", " print(f\"Stats: {result['text_length']} chars, {result['word_count']} words\")\n", " print(\"DETECTED TEXT:\")\n", "\n", " if result[\"text\"]:\n", " # Display text with proper formatting\n", " lines = result[\"text\"].split(\"\\n\")\n", " for line in lines:\n", " if line.strip(): # Only print non-empty lines\n", " print(line.strip())\n", " else:\n", " print(\"(No text detected)\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "589846c7-d630-4a59-8290-1a77a6f0fe51", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "SUMMARY: 7 images, 16,447 chars, 2,725 words\n", "Average: 2,349 chars/image, 389 words/image\n", "\n", "--- IMAGE #1 ---\n", "URL: https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news1.png\n", "Stats: 2345 chars, 421 words\n", "DETECTED TEXT:\n", "ter source after a long wait\n", "Authorities dig a c a ou Sistas\n", "borewell after cs) fe | ae Ws yt, ;\n", "——. CAT\n", "an RTI query So oat ar Reo 3\n", "SIDHARTH YADAV P wa? | |\n", "BHOPAL se Ait aN , t elo\n", "Taunts, casteist slursandbo- }} \\e ‘ \\s am. {3\n", "rewell motor being turned ) 3) my\n", "off at whim by upper-caste\n", "households have haunted\n", "members of a Dalit settle- Tough journey: The group took turns to fetch water from\n", "ment ata village in Rewa dis- _ private borewells over a kilometre away. «SPECIAL ARRANGEMENT\n", "trict for 20 years. Buta Right\n", "to Information (RTI) query _ source, closer to them. When the department\n", "has got them a borewell dug “We even approached the didn’t respond, he first ap-\n", "— a water source they can fi- local MLA... he isa messiah proached the first appellate\n", "nally call their own. of only seeking votes from authority, and then the In-\n", "At the Nevaria settlement us. Shivanand bhai is our formation Commissioner\n", "in Gangeo block, around100 real messiah ashe sentsome Rahul Singh, who on June 2\n", "members of Dalit families papers over WhatsApp to called for a hearing via\n", "took turns, mostly girls and _ some official and got the job + WhatsApp video call two\n", "women, to fetch water from done,” said Mr. Saket. days later.\n", "handpumps and private bo- Shivanand Dwivedi, a so- The night before the hear-\n", "rewells controlled by upper cial worker, sent to the dis- ing on June 4, authorities\n", "caste Mahajans more than a __ trict Public Health Engineer- reached the settlement and\n", "kilometre away. ing Department an RTI dug the borewell. “They told\n", "“The only route passed query, seeking information me during the conference\n", "through their fields and you on the action taken to diga__ the borewell has been dug,”\n", "can’t cross them half the borewell in the settlement. said Mr. Singh. The officials\n", "year as they are ploughed As the matter pertained to _ were not fined for not pro-\n", "and crops cultivated,” said the life and liberty of per- _ viding information within 48\n", "Krishna Saket, 21, a resident sons, he contended authori- hours. “Staff crunch and li-\n", "of the settlement. Since ties had to provide the infor- mited resources due to the\n", "2017, the group has been de- mation within 48 hours lockdown probably caused\n", "manding the government under section 7(1) of the RTI _ the delay in the response,”\n", "provide for a separate water Act, 2005. said Mr. Singh.\n", "\n", "--- IMAGE #2 ---\n", "URL: https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news2.png\n", "Stats: 4036 chars, 587 words\n", "DETECTED TEXT:\n", "Howa people's barrage Saves\n", "water, improves farmers lives\n", "Sometimes combating farm distress can be a simple matter of asserting one’s right to\n", "water, as farmers in jamkhandi in Karnataka’s Bagalkot district proved with their\n", "experiment in water management. Now, those behind ‘India's first people's barrage’ are\n", "looking to share the benefits with fellow cultivators in other distressed areas\n", "——\n", "— Do : oe aed\n", "= | = NO RESPONSE FROM GOVT\n", "S } Fy sae govt kat going demands\n", "a) = Samomattendoones et\n", "= Janktunditarabarape sre 965\n", "nl y SS) © > 111980, farmers grouped to form\n", "Farmer Guappa Baer ight ofthe Sangha sande, he Krbbna Tea Raat Samba\n", "GOING TT ALONE WATERARIGHT BOUNTY OF THE BARRAGE\n", "> 1n 1983, farmers started MAKE INDIA > Govtomosed — Sugarcane yield jumped» Farmland price per\n", "work onthe barrage on = PD enetrcton then dere ret SLL\n", "Se” WATER SSE im a SSS\n", "‘pibver wae. Pret cost mS ett; _\n", "Sani tere §=— POSITIVE famestwvated yet\n", "Served abou tito aeres = onl et\n", "Sratemeteeter | ATaasorman mann | OOrsmove Srekingater\n", "vere mig ener toveesteontol frombarage\n", "‘Radhe shyam.tachay ing government's opposition, but ust stopping spillover The of Balwadi and Tandulwadi\n", "gmean Rehaituikatemgr met wawerranwouliewast Sondre a smal trey\n", "Spllorer of the Rruhiwew ed\"sayeSanghapresientRa naming it Beliraja Stati\n", "can waiver is notamas ters and turned over 15000 endraPatl Construction of Dharan: However the move\n", "[Sihaie'Shower'e the Soewsterrenlandingsyt the mlong barrage was ent aed ot oer die\n", "Ltgurim crsisandiarm lage ingot paces Today complet in ‘ens among ane But he\n", "cevulrite: Governmentean Sunghatirmersarereayinga 1m 201344, the farmers experiment in neighbouring\n", "‘othe frmersallthetsmn plat to share chotr water raid is beight by Lam ond Karnataka urabe.\n", "‘rebmetohdpourves’aye with farmers in drought: intel 23puapsrtsot HDHE \"Gowrtanetswerkingon\n", "Sreanpnuranurpa Sinced\\Viapapia it When ia rnaranaraltow slawianeriaastntae\n", "eat amin in Cobelp irrigate thelr land, reduces afer morscon, pump concrete plana Were adding\n", "Nas Rogalot district where ll ponds and lakes and steareused oi wate oto farmers Vigepura tou\n", "raledtvacrsiiehinhae riscthegroundwatertabie, Ow reorvok: Abou TMC Sangha anysSh{Curuser\n", "Gimdamaiutewlitionto \"When thefarmers started (ovsand milion cubic et) At present, about 5,000\n", "Ermer wowihiniwsft wdragatinirieigy awqantestraimiene tin Buea asc\n", "fopkistarrage, tal acres —rapn gnermment yok Vjgopwafirnerswil arebenedldng fom\n", "‘theriver Krishna, asked them toraiseftindscf Rs gettheirsupplyviadirect pipe rage water with 2,003,000\n", "\"vile poliiclne in the iSimh'Taemoneyvasraied ineeand mor punpetofll mae lrmere er Vigor\n", "state squabble oer the pro. through voluntary contriu- Idkeandartiici pooda’-\"” expeetnitoteatdediottht,\n", "PuedResesocore tian onsfuniarmstaanscves Alsi Uw ils asinar \"Adds Pail, \"We've con:\n", "Sawer Gurappe and ther butgovernman continued to effort was made im Khanapur troled th fw ef wae ere\n", "Imiersof farmery secs tqpeesnnlingmssollow taka in Afabarashira wire shopped any interfeen\n", "ConkrstnwTherafuyatSing consuctonot thebarrage farmers ite under the Sho by various government We\n", "Inneeworkngonanambiiogs lfillyreeniadandvork shtShetriachtlariKam- manage malstmanoe and oy\n", "‘huntomakoallfrmersinthe on the barrage at Chikiapa- gar Mukti Sanghersh chim erectswith irmary conte\n", "agon detti They blvve’ dastagi finaly oko \"We | Fghtover the teria atu tons With ample water, the\n", "Gntrihitomter Bthesolt arenotoddingfow ot water, Uo rver Kirsh Vilas rgionseconey hw ange,\n", "Unoatopfumee ated ‘Now wo want to elp farms\n", "contol agrarian risie The | BE A TOI CHANGE LEADER... ina da\n", "‘Sangha contralsthefow of «3 w+. not enough to simply reflect, take action today! arena ata\n", "cape; mama vaneng | Koriase eareartoke te tlcaamelaaanrs sae | Dugg mart an anos\n", "thrwarie which dy hase | your waterconservation stry on our Facebook page. Use | ers sr four wheelers. Once\n", "‘ined Shram BindiSaga’ | fashtay soeWaterPost ‘Seouphtaced and\n", "Tathe Wels nowithsand owlowemssasigrcane bh\n", "TOI FORMORE INFOGRAPHICS DOWNLOAD Gis aw 2\n", "\n", "--- IMAGE #3 ---\n", "URL: https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news3.png\n", "Stats: 2983 chars, 493 words\n", "DETECTED TEXT:\n", "The world’s highest, and t\n", "€ worids highest, and mos\n", "reckless, user of groundwater\n", "Itis the backbone of India’s drinking water and irrigation supply systems, but overexploitation of\n", "‘groundwater isa threat to not only our food security but also the stability of the land, say's\n", "Radheshyam Jadhav in the third of the series for TOI's Water Positive campaign\n", "<< —<—<—<—<—<—<—_—<$———\n", "as on 7\" ;\n", "toour useof groundwater. % % %\n", "hilly Becauseinower | of nda dink ofwaterfor of thetotaladtionto of nda’ face\n", "rradamediconearig ing water needs irrigation irrigation over the last groundwater over-\n", "ime rising more than just | cngerten’ — Sagedby feurdeagstascone explotaton andor\n", "ease Geommdwase | oundwater ‘groundwater from groundwater serous qualty issues\n", "Casek er\n", "pe cc Sa a\n", "‘ty of the land. WELLS IN BAD HEALTH ‘Sete neh wats dew\n", "Land subsidence due t0 | , comparison of 2017 pre-monscon water levels withthe 10-¥earaeg 2007-100\n", "cramer penpiging | Rematen of 7 one nono rie a\n", "problem threatening several a oe breseans a ing olive [below ag,\n", "wince Bing lar = |\n", "ta, Dhaka, Bangkok, Ho Chi Y aia Lec MEE\n", "Minn i chappal e 4 i 46 | 355\n", "Uhotevettoshaveal et \\ as — alas\n", "ay\n", "predict that Tafa cite we: 60.7% Wad ma) 87\n", "too, are Iikely to face land Set ‘3 Karnataka 93| 267\n", "eet eee =a\n", "‘tion of groundwater contin- 2 Haryana oes) aL\n", "and subsidence and me ee oe eae\n", "ground rupture can signif Chattisgarh aa) 166\n", "Se coer os wz) 7\n", "imag eyo ee\n", "le. Cases of land subsit- | 756 Cont Sa)\n", "ence in western countries of these below avg by 2m or more Jharkhand sez; us\n", "Geieti acne | -amamenscovemnamassee =\n", "ly, Houston tn US) and in ian babreshiva W968) Vel\n", "supply of potable water LULU Sedstrspeertr-papt Sitsdencels Sen\n", "lee\n", "ind —— 7\n", "‘scientist Pietro Teatini land MAKE INDIA BE A TO! CHANGE LEADER...\n", "SS ti Its not enough to simply reflect, take action today!\n", "of Bengal, sch asthe dltate WATER ‘Nominate yourself tobe the TO! Change Leader —\n", "veoora aekabnads Ge — FX | She your nag water conserva story oa our\n", "wart krstaandCaniery OS | T | VV E | Factbookpage.Usehashtag #BeWaterPostve,\n", "feng hess vitisiing | ATonesor soi rsriaive_ | REMEmber every drop counts\n", "ES eregerrerrerer\n", "ee SS Sees ere\n", "Ein canoe Gnuumtewss faesccuaroas jeune capers\n", "EueGetae. lcuugoatemat Geasecwe hier Seuegodtese\n", "Eectcnitints widmiciearoies spromndtageat wasiead i antiae\n", "CEH oee Onakeauaee ” Seowbemeaetecd | funetstesdoutens\n", "Yacr ume itan ee of “OftsiasweisOown framvacrconaniaien forte te ube a\n", "Lune ante ces Somme anda mmaenetaty\n", "Ground Weler Bout Gwandtsanogives duces Tse oareis isiunere specie Oo\n", "Cli naiensoes frome haar: Geucueats ieeun otecetieer\n", "Co aculsce: Oiakamens Gattiotate werd ganceie\n", "Gumansandsboutasbth groundwater lowed ty Seramestom rote yt pumpy more ah\n", "Gispudensrace fupoiconascetes ““tmesot oisGuund meus ani Chim conned\n", "Sot eloctaned wena “mecimantet\n", "‘These 2017 pre-monsoon rise in water levels over the gion is the largest user of est users, respectively.\n", "TOI FORMORE INFOGRAPHICS DOWNLOAD @ions aa a\n", "\n", "--- IMAGE #4 ---\n", "URL: https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news4.png\n", "Stats: 1814 chars, 308 words\n", "DETECTED TEXT:\n", "By a Special Reporter\n", ". .\n", "Parched inland areas will lack water even for\n", "° . .\n", "essential stock and domestic uses unless substantial\n", ". .\n", "rain falls in the next few months.\n", "All inland river systems except those in the south-\n", "ern Riverina are fast drying up.\n", "One coastal river, the | has taken drastic steps to} duced to the lowest level\n", "Hunter, is also drying up. | meet the great water) in their history.\n", "Many rivers and creeks! crisis. | The State is relying on\n", "without regulating stor-|, The end of water for) drenching winter rains and\n", "ages have ceased to flow! ittigation purposes is im-| runoff from heavy snow to\n", "and farm water storages|Minent on the Macquarie, | avert disaster, 3\n", "vary from empty to only| Lachlan, Namoi and Hun-| Conservation Minister\n", "partly full. ter Rivers and irrigation is| Beale, with officers of the\n", "Major storage dams are| Testticted in most other Hered Cr Gonsetyae\n", "; areas. ion ani ie Water Con-\n", "po Seb seed ON cal Only a dramatic change | Soe, and Irrigation\n", "are more than half empty.| {2 the. weather can Save} Commission, has tried to\n", "PfY-| the irrigation dilemma. | counter the drought with\n", "Controlled discharges Facing ruin failing | measures based ‘on weather\n", "from these dams alone| really heavy falls are information and facts\n", "keep our vast river ae thousands of graziers,| from men in the field,\n", "tems flowing, or rather horticulturists, vegetable; Mr. Beale’s grim assess-\n", "trickling. and cotton growers and|}ment is that unless sub-\n", "These discharges are|others who rely on irri-| stantial rains fall, more\n", "being restricted to urgent/gation water for their|than half our major\n", "domestic, stock and irri-| survival Storage dams will be\n", "gation needs, Water resources, in re-|empty by the end of Sep-\n", "The State Government! lation to demand. are re-! tember. a\n", "a y ~ fete added. da\n", "crop failure, could now end oes fc Q, <5 = Geomysore has secured —\n", "UP losing their land to dia. PRN ORORES So SR ielee—wge | permission for mining in |\n", "mond and gold explorers, Ls ees ee ———_ Mies) JonnagiriGoldmineoveran |\n", "Farmers of the diamond Cera ee RSE Te | extent of 597.82 hectares in\n", "belt of Anantapur and gold ie ale inner ee ose Jonnagiri, Pagardrayi and —\n", "deposit region of Kurnool The toad leading to Vajrakarur, Pal ve te igre] Erragudi villages of Tugga- |\n", "now liveinfearoflosingthe. | the diamond belt in Anantapur be eee | li Mandal of Kurnool dis- |\n", "_ vey of India (GSI) announ- The diamond processing plant ae i ed It is estimated that The\n", "; CedonDecember19thatthey | UN by Geological Survey of —_fssiz a Jonnagiri project, may pro- —\n", "| discovered diamondiferous | |ndiain Vajrakarur ee RET sie | duce about 25 000 oz/y(Oun-\n", ": Kimberlite rocks, which : ce per year) of gold which\n", ": May contain diamonds in Mandal in Kurnool district, peracre,whichwastakenby will be quarter of India’s\n", ": Vajrakarur in Anantapur India’s first private gold mi- the bank for interest. Theen- gold production. ;\n", ": district. ne Geomysore Services In-_ tirelandisprivatepattaland Anantapur district re-\n", ": GSlis already runninga dia Private Limited, has al- except for negligible par- corded-46.8 rainfall and Vaj- |\n", ": diamond processing plant ready reachedfinalstagesof cels. Wearenotreadytogive rakarur mandal have -30.7\n", ": Onan experimental basisin gold exploration, and is in “up ourlandfordiamondex- deficient rainfall. Tuggali\n", ": Vajrakarur and have carri- the process of acquiring 350 ploration,” said G Bheem MandalinKurnoolrecorded\n", "i ed out studies at Ramapu- acresof landfortheopenpit. Reddy, a farmer in Vajraka- -68.4 scanty rainfall.\n", ": ram, a nearby village. Inci- \"Out. of eight acres of rur. Jala Sadhana Samiti se-\n", ": dentally, the state govern- groundnut crop, I got a yield JMRajuafarmerofGan- cretary M Ramakrishna sa-\n", ": ment has already declared of 30kgperacre.Normalyi- jikunta of VajrakarurMan- id sowing of groundnut has\n", "} 63 mandals in Anantapur eld shouldbefivetosix quin- dal explained how GSI has dropped from 20 lakh hecta- |\n", ": district as drought-hit, in- talsbutIsufferedalossof Rs been working here for seve- restol0lakhhectares.Anan- |\n", ": cluding Vajrakarur. llakh. The insurance claim ral years in Vajrakaru and tapur has been facing dro- —\n", "t At Jonnagiri in Tuggali moneyIgotwasonlyRs1190 Rampur “A largenumberof ughtsince 2009.\n", "\n", "--- IMAGE #7 ---\n", "URL: https://github.com/tattle-made/feluda_datasets/blob/main/feluda-sample-media/newspaper-clipings/news7.png\n", "Stats: 1449 chars, 273 words\n", "DETECTED TEXT:\n", "enewrpaper sition\n", "ieee, coh kes FRIDAY, DECEMBER 15, 207\n", "RETURN OF ‘RIDICULOUSLY RESILIENT RIDGE’?\n", "La Nifia growing: Cooling water in equatorial Pacific often [eee cetcetere CREEPING BACK\n", "means little rain in state, but a few storms could erase shortfall yup from 22 percent tree months a\n", "— Sept. 12 Dee 12\n", "‘waters near the equator th Prancseo history ack to isso. | 1) 1\n", "perenne TER Lip treed the chances ie Serra Nevada snow pack, | Drought Ke4\n", "ies Ores Nita ores to langues seteseunernar’ | Sot 1 UR)\n", "Sere ais are beginning to Ahroug ie spring, federal scen- as mite down to percent of | cous’ vl\n", "wonder: fs te sate heeding back tse sald Thora Ahistoric ever [iAteeraty .\n", "Ino drought December has sofa brought al Mauseetiy warm, ry | 3 ~\n", "cane exerts teens to with a0 sgnifeant storms freast gros Southern Califores, and deere\n", "serine tne evidence is acca. Yor the next to weeks in the Bay Mrarnings fom the Na- | Bseerecroust\n", "a eing and the min isdefintely Are, the month i on track to Des Service about in; | Mlesvene drought sa\n", "moe ome the driest Deeember in San Mie risk this weekend in| SRS :\n", "ina conditions inthe Pa- Jose history since records began eis thin weekend in | eseptonalcrougre =’ $ an,\n", "cific Ocean — the cooling of ocean jn 1893 and the third driest in San \"DROUGHT »PAGES | Souce:\\S Drouwht Monitor\n", "IMAGES CAPTUREPIVOTAL MOMENTIN .. a SEA CHANGEFOR INTERNET?\n", "Pm see\n", "b 4 Ac\n", "| Al INO “st | | FCC votes\n", "he aon) eae ¥ f 2\n", "i Bh) | a &\n" ] } ], "source": [ "display_results(results)" ] }, { "cell_type": "markdown", "id": "f2ec73d3", "metadata": {}, "source": [ "Clean up the operator" ] }, { "cell_type": "code", "execution_count": 7, "id": "d55b4c2b", "metadata": {}, "outputs": [], "source": [ "detector.cleanup()" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.7" } }, "nbformat": 4, "nbformat_minor": 5 }