Wolkenstatus

Door Luc Zontrop, 21 jaar geleden, 3.932x bekeken

Met dit script kun je aan de hand van een foto (+- 160 x 100 pixels) een status opmaken van de wolken (lichtbewolkt, helder...)

Plaats een foto in een images-map.
Het script zet deze foto om in een 4bits kleuren foto (grijs) en berekent het aantal keer dat een bepaalde grijswaarde voorkomt in die foto.
Aan de range van die 16 grijswaardes kun je dan zien of het al dan niet bewolkt is.

Voorbeeld: http://users.telenet.be/tumbler/wolken/Untitled%20Document.h

Gesponsorde koppelingen

PHP script bestanden

  1. wolkenstatus

 

Er zijn 30 reacties op 'Wolkenstatus'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jelle -
Jelle -
21 jaar geleden
 
0 +1 -0 -1
huh wat stoer!
B a s
B a s
21 jaar geleden
 
0 +1 -0 -1
Nice scriptje :) Erg uniek en leuk voor mensen die het weer interessant vinden :). In combi met een webcam die auto pics maakt elk uur lijkt het me te combineren!
Hipska BE
Hipska BE
21 jaar geleden
 
0 +1 -0 -1
idd, heel leuk script in combinatie met een webcam ;-)
Ponzi
Ponzi
21 jaar geleden
 
0 +1 -0 -1
Geweldig idee eigenlijk om zo het 'weer' te berekenen... complimenten ;) !
Arend a
Arend a
21 jaar geleden
 
0 +1 -0 -1
Het werkt alleen tussen iets van 9 en 6 in de zomer?
- -
- -
21 jaar geleden
 
0 +1 -0 -1
stoer en cool
Ponzi
Ponzi
21 jaar geleden
 
0 +1 -0 -1
@ Arend: ik denk het wel ja, 's nachts zal het zoiezo te donker zijn .. :)
Luc Zontrop
Luc Zontrop
21 jaar geleden
 
0 +1 -0 -1
@ arend:
Normaal maakt het niet uit op welk tijdstip de foto gemaakt wordt. Hier moet enkel gezien worden dat er voldoende grijswaardes ingevuld worden. vb: maakt men een foto in de nacht dan zal er maar 1 grijswaarde gevonden worden wat resulteerd in 'helder'. Dus het lijkt me vanzelfsprekend deze in de loop van de dag te nemen.

Nog een opmerking:
Ik weet niet hoe het script zal reageren indien er een egale grijze wolkenmassa gefotografeerd wordt. Moet nog getest worden, maar ik vermoed dat het hier zal falen. Ik zal waarschijnlijk moeten gaan zien hoe de range van die grijswaardes geplaatst zijn (kbedoel vb beginnend van grijswaarde 0 -> donker grijs wolkendek, oftewel onderaan de lijst -> lichtgrijs wolkendek)
Eric Cartman
Eric Cartman
21 jaar geleden
 
0 +1 -0 -1
Microsoft heeft een Powertoy voor de webcam. Je kan instellen om de hoeveel seconden, minuten, uren of dagen hij een foto neemt en in welke map hij die foto's moet opslaan.


21 jaar geleden
 
0 +1 -0 -1
Geweldig idee. Prachtig verzonnen.
PHP erik
PHP erik
21 jaar geleden
 
0 +1 -0 -1
Vet.
Luke Banning
Luke Banning
21 jaar geleden
 
0 +1 -0 -1
Inderdaad erg leuk script.
Ook leuk i.c.m. webcam, er zijn zat van deze scriptje/proggies te vinden trouwens
Harmen
Harmen
21 jaar geleden
 
0 +1 -0 -1
Dit is echt heel cool werk, nog nooit eerder gezien eigenlijk..!
Luc Zontrop
Luc Zontrop
21 jaar geleden
 
0 +1 -0 -1
thx allen voor het positieve commentaar ;)
Harmen
Harmen
21 jaar geleden
 
0 +1 -0 -1
als er alleen positief commentaar is betekend dat dat het een heel goed script is :)
Steff   an
Steff an
21 jaar geleden
 
0 +1 -0 -1
Hoe orgineel!! Ja, een leuk script.

Niet mijn smaak qua programmeer style, maar dat kan ik alleen :P
Niek s
niek s
21 jaar geleden
 
0 +1 -0 -1
wat is jou programmeer stijl dan? :p
PHP erik
PHP erik
21 jaar geleden
 
0 +1 -0 -1
Commentaar kan natuurlijk altijd. Ik zou het in een functie of class zetten en het HTML-loos maken, maar dat neemt niet weg dat het gewoon een leuk en origineel script is.
Stefan
Stefan
21 jaar geleden
 
0 +1 -0 -1
Ohja, dit is echt een super script!! Hoe kom je trouwens ook op het idee.. anyway, zeker handig ja!
Kees de braak
Kees de braak
21 jaar geleden
 
0 +1 -0 -1
Leuk die scripts die niet alleen maar werken met als input eentjes en nullen.
DirkJan Heinen
DirkJan Heinen
21 jaar geleden
 
0 +1 -0 -1
jah echt heel orgineel!!
maar hoe kom je op zon idee??
Legolas
Legolas
21 jaar geleden
 
0 +1 -0 -1
een foto is toch echt eentjes en nullen :P
Luc Zontrop
Luc Zontrop
21 jaar geleden
 
0 +1 -0 -1
@ devon: tja hoe kom ik op zo een idee :)
Ben van plan om ooit eens een weerstation of iets dergelijks te maken en online te plaatsen.
Vond deze leuk voor het actuele weer, ipv die fotos gewoon een icoontje of iets dergelijks.

Je zou dit script ook kunnen gebruiken om bijvb een bewakings systeem te maken, vb bij grote veranderingen in de grijswaarden een foto laten opslaan tesamen met uur en datum.

mogelijkheden genoeg dus :p
Tnecniv
tnecniv
21 jaar geleden
 
0 +1 -0 -1
Kan gelukkig ook met jpg gebruikt worden als je imagecreatefromjpeg toevoegd ipv imagecreatefromgif
Tnecniv
tnecniv
21 jaar geleden
 
0 +1 -0 -1
de afbeelding in grijswaarde geeft ie bij mij heel groot weer. Hoe krijg ik die klein??

http://www.regioactueel.nl/page2.php?page=wolkenstatus.php
Luc Zontrop
Luc Zontrop
21 jaar geleden
 
0 +1 -0 -1
Je dient alle tabel attributen (of hoe noem je dit) te verwijderen...
Tnecniv
tnecniv
21 jaar geleden
 
0 +1 -0 -1
dus dat allemaal:

<table cellspacing=0 cellpadding=0>

?????

en waar 'geef ik dan op' hoe groot ie moet worden?
Luc Zontrop
Luc Zontrop
21 jaar geleden
 
0 +1 -0 -1
De bedoeling is dat je enkel de status overhoudt. Gebruik dan onderstaand stuk code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
$img
= "images/luc.gif";                        //foto ophalen
$imgHand = ImageCreateFromGif($img);         // handle voor foto
$imgSize = GetImageSize($img);                     // foto grootte
$imgWidth = $imgSize[0];                                 // breedte en hoogte
$imgHeight = $imgSize[1];
// deze mag je eventueel ook weglaten
    //echo '<img src="'.$img.'"><br><br>';

for ($l = 0; $l < $imgHeight; $l++) {
    for ($c = 0; $c < $imgWidth; $c++) {
        $pxlCor = ImageColorAt($imgHand,$c,$l); // pixelkleur ophalen
        $pxlCorArr = ImageColorsForIndex($imgHand, $pxlCor);
            $htmlCor = DecHex($pxlCorArr["red"]&240) . DecHex($pxlCorArr["red"]&240) . DecHex($pxlCorArr["red"]&240);
            $grey[convert($htmlCor)/16]++;
    }
}

//Dit heb je ook niet nodig

// alle grijswaarden laten zien, van donker naar licht
// for ($i=0;$i<16;$i++){
//     echo 'grijswaarde '.$i.' : '.$grey[$i].'<br>';
// }

echo '<br><br>Status: <b>'.status(count($grey)).'</b><br>';
// functies                        
function convert($color){
    $hexdec=HexDec($color)&240; // kleur omzetten naar hexadecimale waarden (4bits)
    $decbin=DecBin($hexdec); // omzetten naar binair
    $decbin = substr("00000000",0,8 - strlen($decbin)) . $decbin; // verloopnullen bijvoegen tot 8bit
    $bindec = BinDec($decbin); // terug omzetten naar decimale waarde
    return $bindec;        // nu hebben we een getal (grijswaarde) tussen 0 en 15
}

// status
function status($range){
    if ($range >= 13) return "zwaar bewolkt";
    elseif ($range > 9 && $range < 13) return "bewolkt";
    elseif ($range > 4 && $range <=9) return "licht bewolkt";
    elseif ($range <= 4) return "helder";
}

?>
Luc Zontrop
Luc Zontrop
21 jaar geleden
 
0 +1 -0 -1
Ik kijk net op je website en zie dat je ook een caption gebruikt in je foto. Op zich is dat niet erg maar je moet deze dan ook wissen of afknippen. Alzo gaat het script ook de witte plekken meezien en een valse berekening maken.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Luc Zontrop
Luc Zontrop
17 jaar geleden
 
0 +1 -0 -1
Amai, inmiddels 4 jaar geleden :)

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. wolkenstatus

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.