Gimp Script

Eduard2

Golden Member

Beste forumleden,

Kan iemand me helpen bij het opstellen van een script binnen Gimp. Op voorhand bedankt.

Deze vraag heeft op eerste zicht weinig met elektronica te maken. Daarom wil ik de omgeving even toelichten. Op mijn werktafel staat een Telehor nipkowschijf uit 1931. Zonder blijvende schade heb ik die hersteld zodat hij nu stilstaande computerbeelden kan weergeven. De lamp achter de gaatjes wordt gestuurd door een Raspberry pi. Een pc vult een tabel in de Raspberry met beeldinformatie. Het voorverwerken van dat bestand gebeurt op de pc, onder Ubuntu, met Gimp. Enkel de eerste stap in een reeks handelingen binnen Gimp verschilt telkens. De volgende stappen zijn steeds dezelfde. De eerste, veranderlijke, stap is het uitknippen van een rechthoek uit een computer afbeelding. Daarna volgen steeds dezelfde handelingen: beperken van de resolutie tot 30 pixels verticaal en 64 horizontaal / omvormen naar grijstinten / exporteren als een .tga file.

Het automatiseren van Gimp is een onderwerp voor gevorderden. Ik heb nauwelijks praktijk in Gimp. Het instapniveau van de scripting taal ligt voor mij te hoog om er efficient mee aan de slag te gaan. Als het zou lukken genoemde handelingen in een script uit te voeren dan wordt de bediening eenvoudiger en daalt de kans op fouten.

Vriendelijke groeten,

Eduard

Ik vraag me af of Gimp wel de beste methode is.
Ik denk eerder aan scripting met "convert" van de imagemagick tools.

Het ligt er ook een beetje aan wat de bron van je beelden is. Als ze "life" afkomstig zijn van een camera, dan wordt het moeilijk.

Vervangen DOOR.

Ik snap nog niet wat je echt wilt.

Je hebt uitgelegd wat je voor hardware hebt (uit 1931) maar niet wat je er mee doet.

Als ik het goed begrepen heb maak je "mechanisch" met een nipkowschijf een scan over een beeld. Zet je een foto detector er achter krijg je een elektrisch signaal wat lijkt op een TV signaal.

Wat is nu de bedoeling? Je wil dat signaal digitaliseren en reconstrueren of zo?

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Eduard2

Golden Member

Beste rew en Boudie,

Voor gebruik in een museum wil ik stilstaande beelden tonen. Dat kunnen vooraf genomen foto's of foto's met het aanwezige publiek zijn. Die staan in één van de vandaag gangbare beeldformaten *.jpg, *.bmp, *.tiff ...

De opstelling omvat van bron naar eindpunt een linux pc, een Raspberry pi, een FPGA, de lamp achter de schijf. De Raspberry pi draait een vast programma en is niet veel meer dan een doorgeefluik naar de FPGA. De FPGA synchroniseert het beeld met de draaiende schijf.

@Boudie: Ik heb gimp gekozen omdat ik dat programma af en toe gebruik. Ik ken de imagemagick tools niet. Mogelijk is dat beter. Ik ga eens Googelen naar dat programma. Ik vraag me af of je met imagemagick kan converteren naar een .tga formaat. Voor mij is targa geen must maar het is wel een formaat waaruit heel gemakkelijk met een C-programma de grijstinten kunnen worden gelezen.

Vriendelijke groeten,

Eduard

[Bericht gewijzigd door Eduard2 op zaterdag 2 mei 2020 12:42:20 (13%)

Inderdaad, imagick, ook te sturen via php
Python of perl. Als je een voorbeeld van de stappen hebt wil ik wel eens kijken.

Eduard2

Golden Member

Beste K7Jz,

Kan imagemagick gestuurd worden in C-taal ? Kan er .tga worden ge-exporteerd? Als targa niet lukt is er mogelijk een ander formaat waarin de grijstinten eenvoudig te lezen zijn dmv een zelf te schrijven programma ?

Vriendelijke groeten,

Eduard

Ook in Irfanview kun je geautomatiseerd (in "batch") bewerkingen doen. Kan ook .tga aan. Met Python is ook erg veel mogelijk; moduul PIL kan .tga alleen lezen (misschien inmiddels ook wel schrijven).
Irfanview werkt bij mij goed onder Wine.
Python is geknipt voor Linux.

Eduard2

Golden Member

Beste forumleden,

Intussen heb ik Imagemagick geïnstalleerd en een Youtube filmpje nageaapt. De klik is er bij de eerste kennismaking. Een file outputten onder .tga formaat werkt. Over de omvorming naar grijstinten vond ik ook een filmpje. Er rest me nog uit te vissen of het verkleinen met het sinc algoritme of iets vergelijkbaars onder Imagemagick bestaat. Als dat lukt is de klus geklaard.

Vriendelijke groeten,

Eduard

Staat op zich los van de vraag toch... het valt met op dat je een PC en een RPi hebt, met daarachter nog een FPGA. Die laatste snap ik qua real-time gedrag (hoewel een RPi dat ook best zou moeten kunnen), maar waarom nou 2 Linux bakjes achter elkaar? Ik bedoel PC en RPi. Kan de RPi dat niet alleen af?

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein

Waarschijnlijk dat het met irfanview batch conversion ook wel gaat

Resize al of niet met aspect ratio
Color depth
Output > TGA

Eduard2

Golden Member

Beste forumleden,

Ik wil eerst iedereen bedanken voor de hulp. ImageMagick doet wat ik verwacht. Het traject wordt als volgt:
1) eerst een afbeelding openen met Gimp, rechthoek 4/3 uitknippen en opslaan
2) convert Logo2.jpg -resize 64x30\! f2.png
3) convert -colorspace Gray f2.png f3.tga

Als voorbeeld start ik met dit logo:

Na bewerking krijg ik dit:

Let op de vervorming. Horizontaal verwacht de schijf 64 beeldpunten. Op een pc lijkt het vervormd maar op de nipkowschijf is de cirkel weer rond. .tga formaat wordt op de server van dit forum niet ondersteund. Daaom plaatste ik de .jpg afbeelding.

@flipflop: Ja, de Rpi kan dat zonder tussenkomst van een pc. De pc staat er enkel owv het comfort. Voor de bediening heb ik beeldscherm, klavier en muis nodig. Die kan ik aansluiten op de Rpi. PC's zijn voorhanden zonder dat ik op zoek moet naar een hdmi monitor, usb toetsenbord + muis. Ik ben benieuwd hoe je dat met de Rpi zonder FPGA zou doen. Ik neem aan niet met het Raspbian os. In dat geval zou ik eerder voor RiscOS of bare metal kiezen. In de Rpi gelijktijdig ook de PLL onderbrengen die nu in de FPGA de 12,5 Hz frequentie waarmee de schijf draait met 1920 vermenigvuldigt zie ik niet zitten. Een PLL in TTL ic's en de buffer in de Rpi zal wel lukken. Ik heb even aan een Arduino gedacht. Nog een bijkomend gegeven; vanuit een ander project heb ik een FPGA print die met de Rpi samenwerkt. Je roeit meestal met de riemen die je hebt.

Vriendelijke groeten,

Eduard

Je pakt 't snel op. Mijn complimenten... ;-)

Vervangen DOOR.

Hoe dat in de RPi alleen moet weet ik natuurlijk niet want ik weet niet hoe dat werkt met zo'n schijf. Wat ik wel weet is dat het allemaal niet zo snel gaat, want die beelden knipperen als een wilde. Bedenk wel dat een RPi bloedje snel is en dat ie complexe berekeningen kan doen zoals bv vermenigvuldigen. Dat niet-real-time gedrag wordt veel minder belangrijk als je processing power veel groter is dan wat je nodig hebt. Immers, interrupt tussendoor is maar zo kort dat je dat op jouw schijf echt niet ziet.
Maar nogmaals, ik redeneer een beetje in algemene termen omdat ik niet precies weet wat er precies in die FPGA gebeurd. Op zich werkt het nu, dus hoeft ook niet anders. Ik zou zelf eerder proberen om die PC uit de opstelling te halen. Webserver op de RPi waarop je eea bedient, of met VNC er naartoe.

[Bericht gewijzigd door flipflop op zaterdag 2 mei 2020 19:11:48 (13%)

"We cannot solve our problems with the same thinking we used when we created them" - Albert Einstein