LLM / AI gebruiken om tekst te herkennen in afbeeldingen (OCR)

Met de tool Ollama is het eenvoudig llm / AI modellen te gebruiken. Het lastigste is het juiste model te vinden en de juiste vragen te stellen - juiste prompts. Via 'Download' op de Ollama site kan 't eenvoudig geinstalleerd worden. Vervolgens kan Ollama via een DOS-prompt of Terminal worden gestart. Enkele goed bruikbare modellen zijn:


De beperking welk model gebruikt kan worden is vaak de grootte van het model. Indien het model via de GPU wordt uitgevoerd, moet deze in het VRAM passen. Als het via de CPU wordt uitgevoerd binnen het interne geheugen.

Het 1e model wordt in de demo gebruikt voor het gebruik van OCR en beschrijven van afbeeldingen. De 2e is van Chinese afkomst, en werkt goed bij algemene vragen. Het 3e model is handig als je programmeer vragen hebt en concrete voorbeelden wilt.

Het volgende document is gebruikt om OCR op te testen,



Het gave is dat het llama3.2-vision:11b model zowel op de originele afbeelding als de afbeelding met 't toegepaste filter aardig resultaat geeft. De tool 'tesseract' herkend alleen tekst in de zwart/wit afbeelding.

Zoals in de onderstaande output is te zien dat de tekst niet 1 op 1 wordt teruggegeven. Het is dus niet handig deze tekst direct te gebruiken, omdat 't simpelweg niet klopt. Met testen kwamen er ook woorden en zinnen terug die niet in de tekst voor kwamen. Waar het wel voor gebruikt kan worden is als 'zoektekst'. De teksten kunnen bijvoorbeeld worden geindexeerd in een database, waarna je daar in kan zoeken en kan verwijzen naar het originele document.

 

Uitvoer van Ollama, originele afbeelding (duur, 4 minuut 15, Intel I7-12700H):

The image shows a letter from Dijk en Waard, dated December 13, 2024. The letter is written in Dutch and appears to be an announcement or update regarding a project or development.

Here is the text of the letter:

**Header**

* **Logo**: DIJK EN WAARD
* **Date**: 13 december 2024

**Body**

* **Subject**: Afsluiting Zuidtangent voor bouw spooronderdoorgang
	+ Beste bewoners, beste Dijk en Waarders.
	+ Allereerst wensen we u fijne feestdagen en een gelukkig 2025. In het nieuwe jaar blijven we werken aan een goede bereikbaarheid is weer het belangrijkste uitgangspunt. Een belangrijke project is de bouw van de spooronderdoorgang.
* **Content**:
	+ Op 6 januari 2025 sluiten we de spoortunnel in de Zuidtangent af, zodat we daar de spooronderdoorgang kunnen bouwen. Dit duurt tot mei 2026. Hierdoor wordt het drukker op andere wegen. Denk aan de N242 (Westerweg), de N194 (Kamerlingh Onnesweg), de Krusemanlaan, en de Oosttangent in de Westtangent. We geven adviezen aan en nemen maatregelen om het verkeer goed te laten lopen. We werken samen met provinciale gemeente en overlast te beperken. Maar we hebben ook uw hulp nodig.
* **Call to action**:
	+ Bekijk vooral onze tips op www.dijkenwaard.nl/stationskwartier > Bereikbaarheid rond stationsgebied
	+ We beginnen binnenkort met het veranderen van de weg door een dagelijkse route aan uw dagelijks leven te laten zien. Tijdens de bouw is er altijd overlast, maar we weten dat we samen kunnen werken om het minimaal te houden.
* **Closing**:
	+ Met vriendelijke groet,
	+ Namens het college van gemeente Dijk en Waard,
	+ Maarten Poorter, burgemeester
	+ Nils Langedijk, wethouder

**Footer**

* **Contact information**:
	+ Bezoekadres: Parelnof 1, Heerhugowaard
	+ Bosgroet 2, Zuid-Scharwoude
	+ Postbus 390, 1700 AJ Heerhugowaard
	+ Website: www.dijkenwaard.nl

Uitvoer van Ollama op de zwart/wit afbeelding (duur, 4 minuut 7, Intel I7-12700H):
DIJK EN WAARI
Telefoon: 0725755555
E-mail: post@dijkenwaard.nl
Datum: 13 december 2024/16 december 2024
Onderwerp: Afsluiting Zuidtangent voor bouw spooronderdoorgang

Beste beners, beste Dijk en Waarders,

Allereerst wensen we u fine feestdagen en een gelukkig 2025!

In het nieuwe jaar blijven we werken aan een gemeente die goed bereikbaar is en waar het verkeer veilig is. Een belangrijk project is de bouw van een spooronderdoorgang.

Zuidtangent gaat dicht
Op 6 januari 2025 sluiten we de Suidtangent af, zodat we daar de spooronderdoorgang kunnen bouwen. Dit duurt tot mei 2026. Hierdoor wordt het drukker op andere wegen. Denk aan de N242 (Westerwijk), de N194 (Kamerlingh Onnesweg), de Krusermanlaan, de Oosttangent en de Westtangent. We geven adviezen aan om niet te verkeerd te gaan.

We werken samen met de provincie en andere gemeenten om de overlast te beperken. Maar we hebben ook uw hulp nodig.

Uw hulp is belangrijk!
Hoe kunt u helpen? Gebruik de fiets voor korte afstanden. Maak gebruik van het openbaar vervoer, zoals de bus of trein. Ga met de trein naar de (buurt)bus. Werk wat vaker thuis, rijdt samen met een collega uit uw buurt op rustige tijden.

Bekijk vooral ook onze tips en alternatieven op www.dijkenwaard.nl/stationskwartier > Bereikbaarheid rond stationsgebied

We beginnen nu gewend bent aan de route en dat het vervalend is als er files zijn. Tijdens de bouw is er altijd overlast, maar we willen allemaal belangrijk de spooronderdoorgang hebben.

Een nieuwe jaar begint met goede voornemens. Mogen wij ook een goed jaar hebben? Denk aan elkaar en geef elkaar de ruimte. Als deze grote klus na 16 maanden klaar is, hebben we allen veel geleerd van het resultaat!

Met vriendelijke groet.

Namens het college van gemeente Dijk en Waard,

Maarten Poorter, burgemeester

Nils Langedijk, wethouder

Bezirkspartijen:
Parlement Heerhugowaard
Bosgroep 2, Juid-Schatwoude


Dan is er ook een test gedaan met Tesseract. De tekst in de originele afbeelding werd totaal niet herkend, en gaf geen resultaat. De zwart/wit afbeelding met 't filter gaf de volgende tekst terug:

Uitvoer van Tesseract op de zwart/wit afbeelding (duur, 3 seconden, Intel I7-12700H):

DIJK EN
row

WAAR!

Telefoon: 072 575 55 55 Datum: 13 december 2024
E-mail: post@dijkenwaard.nl Verzenddatum: 16 december 2024
Onderwerp: Afsluiting Zuidtangent voor bouw spooronderdoorgang

Beste bewoners, beste Dijk en Waarders,

Allereerst wensen we u fijne feestdagen en een gelukkig 2025! In het nieuwe jaar blijven we werken
aan een gemeente die goed bereikbaar is en waar het verkeer veilig is. Een belangrijk project is de
bouw van de spooronderdoorgang.

Zuidtangent gaat dicht

Op 6 januari 2025 sluiten we de spooroverweg in de Zuidtangent af, zodat we daar de
spooronderdoorgang kunnen bouwen. Dit duurt tot met 2026. Hierdoor wordt het drukker op andere
wegen. Denk aan de N242 (Westerweg), de N194 (Kamerlingh Onnesweg), de Krusemanlaan, de
Oosttangent en de Westtangent. We geven adviesroutes aan en nemen maatregelen om het verkeer
goed te laten vertopen. We werken samen met de provincie en andere gemeenten om de overlast te

beperken. Maar we hebben ook uw hulp nodig.

Uw hulp is belangrijk!
Hoe kunt u helpen? Gebruik vaker de fiets voor korte afstanden. Maak gebruik van het openbaar
vervoer, zoals de trein of de (buurt)bus. Werk wat vaker thuis, rijd samen met een collega of rijd op

rustigere tijden.

Bekijk vooral ook onze tips en alternatieven op
www. dijkenwaard.ni/stationskwartier > Bereikbaarheid rond stationsgebied

We begrijpen dat u gewend bent aan uw dagelijkse route en dat het vervelend is als er files zijn.
Tijdens de bouw is er altijd overlast, maar we weten allemaal hoe belangrijk de spooronderdoorgang
is. Voor een bereikbare gemeente en veilig verkeer.

Een nieuw jaar begint vaak met goede voornemens. Mogen wij een voorstel doen? Denk aan elkaar
en geef elkaar de ruimte. Als deze grote klus na 16 maanden klaar is, hebben we allemaal voordeel
van het resultaat!

Met vriendelijke groet,

Namens het college van gemeente Dijk en \
Maarten Poorter, burgemeester ”
Nils Langedijk, wethouder

Postadres www.dijkenwaard.nt
Pastbus 390 072 575 55 55
1700 A} Heerhugowaard post@dijkenwaard.nt

Becoekauressen
Parelhot I_Hecmugowadrd
Bosgroet 2, Zuid—Scharwoude

16316



Python code om Ollama aan te roepen
#!/usr/bin/python3

import base64
import json
import requests

def file_to_base64(file_path):
    try:
        with open(file_path, 'rb') as file:
            # Read the entire file content
            file_content = file.read()
            # Convert the file content to Base64
            base64_encoded = base64.b64encode(file_content)
            return base64_encoded.decode('utf-8')  # Return as a string
    except FileNotFoundError:
        print("File not found.")
        return None
    except Exception as e:
        print(f"An error occurred: {e}")
        return None

imgdata = file_to_base64( '/home/user123/ocr/testdoc-th.png' )
chaturl = "http://localhost:11434/api/chat"

# request
chatmsg = {
	"model": "llama3.2-vision",
	"stream": False,
	"messages": [
		{
			"role": "user",
			"content": "print text in image as plain text, exact as it is, no translation, no additional texts",
			"images": [ imgdata ]
		}
	]
}

strjson = json.dumps(chatmsg, indent=4);
#print (chatmsg)

response = requests.post(chaturl, data=strjson)

print (response.status_code)
print (response.text)


Voor het omzetten van afbeeldingen naar tekst zijn verschillende mogelijkheden. Om dit goed in te richten is het verstandig te kijken naar de documenten die je wilt verwerken, de hoeveelheid en de gewenste nauwkeurigheid.

Meer weten wat de mogelijkheden zijn? Neem contact op!

- Bent u opzoek naar een Php of Java programmeur voor uw website of applicatie? (freelance / detachering)
- Losse tickets, opdrachten, of gehele projecten in de planning?
- Systeembeheer van Linux of Windows Server ?

Dan kom ik graag met u in contact! Meer informatie over mij vindt u hier.
Sitemap | Op alle producten & diensten zijn de algemene voorwaarden van toepassing
Php programmeur | Maatwerk software Alkmaar | Maatwerk software Heerhugowaard | Maatwerk software Purmerend | Maatwerk software Zaandam | Software laten maken | Freelance php programmeur Afbouw maatwerk software Blogs