Práce s grafikou VI. – Doostření
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Práce s grafikou VI. – DoostřeníPráce s grafikou VI. – Doostření

 
Hledat
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Pergoly a střechy Brno

Práce s grafikou VI. – Doostření

Google       Google       26. 11. 2005       8 112×

Opačnou funkcí k funkci soften je sharpen, a to je doostření obrazu. Funguje naprosto na úplně stejném principu, jen opačně. ..

Reklama
Reklama

SStejně jako v minulém případě pracujeme s pěti hodnotami a od hlavní hodnoty, která je 1+n krát, odečteme součet hodnot okolních pixelů vynásobených čtvrtinou n. Znak n je koeficient zaostření. Pokud je dosazena jednička, je to přirozené zaostření, vyšší hodnoty způsobí výraznější zaostření. Nižší hodnoty způsobí nižší zaostření. Hodnota nikdy nesmí dosáhnout nuly. A to z toho důvodu, že nulou nelze dělit.


Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Public Sub Sharpen(Img As PictureBox, img2 As PictureBox, Value As Integer, n As Double)

    Img.DrawWidth = 1
    Img.ScaleMode = 3
    Img.AutoRedraw = True
    
    img2.DrawWidth = 1
    img2.ScaleMode = 3
    img2.AutoRedraw = True
    
    m = (1 / n) * 4
    n = n + 1
    rgbmax = 256
    
    On Error Resume Next
        For x = 0 To Img.ScaleWidth - 1
            For y = 0 To Img.ScaleHeight - 1
                DoEvents
                
               ImgP = GetPixel(Img.hdc, x, y)
                b0 = ImgP  rgbmax  rgbmax
                g0 = (ImgP  rgbmax) Mod rgbmax
                r0 = ImgP Mod rgbmax
               ImgP = GetPixel(Img.hdc, x + Value, y)
                b1 = ImgP  rgbmax  rgbmax
                g1 = (ImgP  rgbmax) Mod rgbmax
                r1 = ImgP Mod rgbmax
               ImgP = GetPixel(Img.hdc, x, y + Value)
                b2 = ImgP  rgbmax  rgbmax
                g2 = (ImgP  rgbmax) Mod rgbmax
                r2 = ImgP Mod rgbmax
               ImgP = GetPixel(Img.hdc, x - Value, y)
                b3 = ImgP  rgbmax  rgbmax
                g3 = (ImgP  rgbmax) Mod rgbmax
                r3 = ImgP Mod rgbmax
               ImgP = GetPixel(Img.hdc, x, y - Value)
                b4 = ImgP  rgbmax  rgbmax
                g4 = (ImgP  rgbmax) Mod rgbmax
                r4 = ImgP Mod rgbmax
                
                r = (n * r0) - (r1 + r2 + r3 + r4) / m
                g = (n * g0) - (g1 + g2 + g3 + g4) / m
                b = (n * b0) - (b1 + b2 + b3 + b4) / m

                If r >= 255 Then r = 255
                If g >= 255 Then g = 255
                If b >= 255 Then b = 255
                If r <= 0 Then r = 0
                If g <= 0 Then g = 0
                If b <= 0 Then b = 0
                
                Call SetPixel(img2.hdc, x, y, RGB(r, g, b))
            Next y
            DoEvents
        Next x
    img2.Refresh
End Sub

Volání funkce:

Call Sharpen (Picture1, Picture2, 1, 2)

Prvním parametrem je obrázek, který upravujeme, druhým je obrázek, do kterého ukládáme výsledek, třetí parametr určuje odstup vedlejších pixelů (optimální jsou zde čísla 1 – 2) a poslední parametr určuje koeficient zaostření. To je velmi důležitá hodnota a závisí na ní více, než na čemkoliv jiném, výsledek procedury. Její hodnota je v intervalu 0 až nekonečno, přičemž nula do něj nepatří. Pokud je zadané číslo menší než 1, pak je výsledné zaostření slabší, a pokud je větší než jedna, je zaostření silnější. Nesmíme to ale s tímto číslem přehánět, už u čísla 20 dostáváme opravdu silné výsledky. Takové slušné maximum je asi 4. Pokud zadáte hodnoty převrácené, bude to fungovat přesně opačně, jako rozmazání.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

1 názor  —  1 nový  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jiří ChytilAutor programuje ve VB, zajímá se o elektrotechniku, studuje na SOŠ Elektrotechnické - obor číslicová technika.
Web    

Nové články

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Reklama
Reklama
Obrázek ke článku Konference: Moderní informační systémy podporují automatizaci

Konference: Moderní informační systémy podporují automatizaci

Současná situace v šíření onemocnění Covid-19 klade na řadu firem nové nároky a mnohé z nich jsou nyní více než kdy jindy závislé na nejmodernějších informačních technologiích. Proto i v oblasti podnikových informačních systémů vidíme rostoucí důraz na automatizaci nebo na důslednou integraci. Také o těchto trendech se bude mluvit na konferenci Firemní informační systémy, která se koná 24.9.2020 v pražském Kongresovém centru Vavruška na Karlově náměstí.

Obrázek ke článku Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Nebezpečí ukrytá v USB: z nuly na škvarek za pět sekund

Za cenu šesti dolarů lze celkem bez obtíží koupit nový, líbivě vyhlížející flash disk. Přidaná hodnota, které se vám spolu s ním dostane, už tak moc líbivá není. To, co se před pár sekundami tvářilo jako externí disk, se po připojení k počítači změní v důmyslné elektrické křeslo, které vaše zařízení v onen příslovečný škvarek promění za pár sekund. Cílovou skupinou pro koupi takových zařízení by mohli být záškodníci, kteří by tímto způsobem osnovali pomstu třeba vůči záletnému partnerovi. 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032021 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý