abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 05:55 | Komunita

    O víkendu probíhá v Praze na Karlově náměstí 13 konference Installfest 2026. Na programu je celá řada zajímavých přednášek a workshopů. Vstup na konferenci je zcela zdarma, bez nutnosti registrace. Přednášky lze sledovat i online na YouTube.

    Ladislav Hagara | Komentářů: 6
    včera 05:22 | Komunita

    Mozilla a společnost Mila oznámily strategické partnerství za účelem rozvoje open source a suverénní AI. Cílem je ukázat, že open source AI může konkurovat uzavřeným systémům. Obě organizace chtějí posílit technologickou suverenitu a snížit závislost na hrstce velkých technologických firem.

    Ladislav Hagara | Komentářů: 3
    včera 04:00 | Humor

    Adam Rice předvedl, že pomocí DNS lze distribuovat a spustit kompletní hru DOOM. Rozdělil WAD soubory a binárky do téměř 2000 DNS záznamů v Cloudflare zóně (jeden TXT záznam v DNS může nést okolo 2000 znaků textu). Ty pak stáhl PowerShellem, dekomprimoval a spustil přímo v paměti počítače bez nutnosti zápisu na disk, což prakticky dokazuje, že DNS může sloužit jako distribuované úložiště dat a možný kanál pro načítání kódu. Repozitář projektu je na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 4
    27.3. 13:00 | Komunita

    Dnes a zítra probíhají Arduino Days 2026. Na programu je řada zajímavých přednášek. Sledovat je lze od 17:00 na YouTube. Zúčastnit se lze i lokálních akcí. Dnes v Poličce v městské knihovně a zítra v Praze na Matfyzu.

    Ladislav Hagara | Komentářů: 9
    27.3. 12:11 | Nová verze

    Byla vydána beta verze Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.04 LTS mělo vyjít 23. dubna 2026.

    Ladislav Hagara | Komentářů: 1
    27.3. 02:22 | Komunita Ladislav Hagara | Komentářů: 11
    26.3. 23:22 | Komunita

    Ubuntu plánuje v budoucích verzích nahradit tradiční nástroje pro synchronizaci času (chrony, linuxptp a gpsd) novým, v Rustu napsaným ntpd-rs, který nabídne vyšší bezpečnost a stabilitu.

    Ladislav Hagara | Komentářů: 3
    26.3. 22:33 | Nová verze

    Byla vydána nová verze 7.6 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Správce hesel KeePassXC byl nahrazen správcem hesel GNOME Secrets. Bitcoinová peněženka Electrum byla povýšena na verzi 4.7.0. Tor Browser byl povýšen na verzi 15.0.8. Další novinky v příslušném seznamu.

    Ladislav Hagara | Komentářů: 1
    26.3. 11:33 | Zajímavý článek

    Chris Down v obsáhlém článku „vyvrací mýty o zswap a zram“, vysvětluje, co vlastně dělají a jaké jsou mezi nimi rozdíly. Doporučuje vyhýbat se zram na serveru a bez OOM.

    |🇵🇸 | Komentářů: 1
    26.3. 11:22 | IT novinky

    Porota v Los Angeles shledala firmy Google a Meta odpovědnými v přelomovém soudním sporu, který se týká závislosti na sociálních sítích; firmy musí zaplatit odškodné tři miliony dolarů (63,4 milionu Kč). Společnosti, které s verdiktem nesouhlasí, čelily obvinění, že své sociální sítě a platformy záměrně navrhly tak, aby si na nich děti vypěstovaly závislost. Porota došla k závěru, že technologické společnosti při navrhování a

    … více »
    Ladislav Hagara | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (2%)
     (5%)
     (1%)
     (14%)
     (24%)
    Celkem 1175 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: Ocave - prosím o radu

    24.4.2012 22:38 Standa
    Ocave - prosím o radu
    Přečteno: 280×
    Ptrosím o radu, jak naložit s následujícím problémem. V příslušné složce mám uložený obrázek bakterieBW.tif a v Octave mám napsaný následující kód, který má sečíst hodnoty jasu v jednotlivých pixelech.

    A=imread("bakterieBW.tif");
    s=0;
    for i=1:1:rows(A)
    for j=1:1:columns(A)
    s=s+A(i,j)
    end
    end

    Místo toho začne sčítat do okamžiku, kdy je hodnota v proměnné s=255 a pak už píše jen ty 255 a nic nepřičítá (přestože ten obrázek opravdu není černý ;-) ). Jistě je to nějaká blbost, ale už se s tím trápím dva dny a nemám ten správný nadhed. Děkuju předem za radu.

    Řešení dotazu:


    Odpovědi

    25.4.2012 01:50 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    no zřejmě je proměnná s o velikosti unsigned byte tak zkusit nadefinovat proměnnou alespon long.
    25.4.2012 08:57 Petr
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    Ale kdeže for, na takovéto triviality jsou předdefinované příkazy: s=sum(A(:))
    25.4.2012 14:23 Petr
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    Použije-li se příkaze whos A, tak Octave vypíše, že typ je uint8. Tak to přetypuj na double, tj. A=double(A), a bude to fungovat dle očekávání.

    Pokud je cílem sečtení nějakých nadprahových hodnot, tak ani tehdy by kód neměl obsahovat žádný for; což třebas takhle:

    s=sum(A(A>127))
    
    25.4.2012 15:39 Standa
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    No jo, nemám Octave ještě tak v paži, nenapadlo mě to takhle ... děkuju moc, už to chodí :-)
    25.4.2012 10:15 jkhkjhkhj
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    Je to dost zvlastni. Asi by mohlo pomoct:

    s=0.0; #! realne cislo, nikoli cele

    Ale jinak bude asi rychlejsi pouzit proste: s = sum(A(1:rows(A),1:columns(A));

    (jelikoz v octave jako interpretu se v kazdem cyklu musi nejak interpretovat skoro kazdy radek, kdezto funkce jsou obvykle implementovane pres rychlejsi C knihovny).
    25.4.2012 10:59 Standa
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    Pánové, děkuju. Zkusil jsem vaše návrhy, bohužel nepomohlo. Rozepíšu problém víc.
    Vyjel jsem si konkrétní hodnoty v buňkách A(1,1),A(1,2),...až A(1,20). Po řadě jsem získal tyto hodnoty: 16+15+15+16+16+15+15+15+14+15+15+15+16+17+18+20+22+25+30+36, což se rovná 366. Octave vytrvale hlásí těch svých 255. Až do ...+...+A(1,16)=253 ukazuje dobře, když k tomu přičtu A(1,17), vypíše 255 místo správných 275 a dál píše svých 255.
    Když jsem udělal pokus a místo hodnot z toho obrázku jsem napsal:

    % soucet prvku matice
    s=0;
    for i=1:1:10
    for j=1:1:10
    A(i,j)=i+j
    s=s+A(i,j)
    end
    end

    tak to funguje. Jestli mu nějak vadí, že je to z fotky? Ale to je asi blbost, pracuje s číslama... . A nebo jestli je to pro něj moc velké? Ale pak zase nechápu, proč se zastaví u tak malého čísla, jakým je 255. A ve "funkčním" příkladu taky neuvádím datový typ toho s.

    Jinak vím, že v tomto případě to lze udělat bez cyklu for, ale ve skutečnosti projíždím jednotlivé prvky tý matice a porovnávám s hodnotou prahu a sčítám ty s větší a ty s menší hodnotou zvlášť. Pro můj dotaz jsem jen vypreparoval to, co dělá problémy a napsal demonstrační kód.

    Takže prosím ještě jednou o pomoc :-). Díky.
    25.4.2012 11:21 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    A zkusil jste před cyklem do toho s zapsat nějaké velké číslo nebo sečíst dvě velká čísla? 255 je samozřejmě maximum pro hodnotu v unsigned byte a pokud více místa nemá, nic nepřičte, Otázka je proč si pro s rezervoval tak málo nebo jestli při té sčítací operaci nepřechází přes něco co mu provede limitaci.
    25.4.2012 11:30 Standa
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    Nezkusil, ale zkusil jsem do toho "funkčního" kódu místo do 10 sčítat oba indexy do 1000. Výpočet trval déle, nicméně nakonec vypadlo číslo s=1.0010e+009, což je asi dobře. Takže mu možná vadí něco na zdrojových datech, ale netuším co, když taky jen sčítá čísla. Nevím, co by mu mohlo provést limitaci, ty ukázkové kódy jsou kompletní, nic jinýho nedělají.
    25.4.2012 11:53 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    A jaký je rozdíl v tech zdrojových datech v tech vašich dvou příkladech? Také můžete zkusit to sčítání ještě přes jedno přiřazení.
    % soucet prvku matice
    s=0;
    for i=1:1:10
    for j=1:1:10
    A(i,j)=i+j
    b=A(i,j)
    s=s+b
    end
    end
    a to b bude normální číslo. možná provádí nějaké inteligentní odhady datových typů a pro ty čísla z obrázku má právě datový typ unsigned byte.
    25.4.2012 12:16 Standa
    Rozbalit Rozbalit vše Re: Ocave - prosím o radu
    tak jsem to podle rady upravil ... a výsledek je... 255 :-(

    % soucet matice
    A=imread("bakterieBW.tif");
    s=0;
    for i=1:1:rows(A)
      for j=1:1:columns(A)
      b=A(i,j);
      s=s+b;
      end
    end
    disp(s)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.