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í
×
    dnes 02:22 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 6.14 oznámil Linus Torvalds vydání Linuxu 6.15. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    včera 00:33 | Zajímavý software

    plwm je nový, poměrně minimalistický správce oken pro X11. Podporuje dynamické dláždění okny, plochy, pravidla pro okna atd. Zvláštností je, že je napsaný v logickém programovacím jazyce Prolog. Používá implementaci SWI-Prolog.

    Fluttershy, yay! | Komentářů: 2
    včera 00:22 | Komunita

    Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.

    Ladislav Hagara | Komentářů: 0
    24.5. 23:00 | Zajímavý článek

    Sean Heelan se na svém blogu rozepsal o tom, jak pomocí OpenAI o3 nalezl vzdálenou zranitelnost nultého dne CVE-2025-37899 v Linuxu v implementaci SMB.

    Ladislav Hagara | Komentářů: 4
    24.5. 04:00 | Zajímavý článek

    Jiří Eischmann v příspěvku na svém blogu představuje typy, jak lépe chránit své soukromí na mobilním telefonu: "Asi dnes neexistuje způsob, jak se sledování vyhnout úplně. Minimálně ne způsob, který by byl kompatibilní s tím, jak lidé technologie běžně používají. Soukromí ovšem není binární věc, ale škála. Absolutního soukromí je dnes na Internetu dost dobře nedosažitelné, ale jen posun na škále blíže k němu se počítá. Čím méně dat se o vás posbírá, tím nepřesnější budou vaše profily a tím méně budou zneužitelné proti vám."

    Ladislav Hagara | Komentářů: 12
    24.5. 00:22 | Nová verze

    Byla vydána nová stabilní verze 25.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Warbler. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    23.5. 18:11 | Nová verze

    Multiplatformní open source spouštěč her Heroic Games Launcher byl vydán v nové stabilní verzi 2.17.0 Franky (Mastodon, 𝕏). Přehled novinek na GitHubu. Instalovat lze také z Flathubu.

    Ladislav Hagara | Komentářů: 0
    23.5. 18:00 | Nová verze

    Organizace Apache Software Foundation (ASF) vydala verzi 26 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.

    Ladislav Hagara | Komentářů: 0
    23.5. 14:55 | IT novinky

    Klávesnice IBM Enhanced Keyboard, známá také jako Model M, byla poprvé představena v roce 1985, tzn. před 40 lety, s počítači IBM 7531/7532 Industrial Computer a 3161/3163 ASCII Display Station. Výročí připomíná článek na zevrubném sběratelském webu Admiral Shark's Keyboards. Rozložení kláves IBM Enhanced Keyboard se stalo průmyslovým standardem.

    Fluttershy, yay! | Komentářů: 6
    23.5. 12:00 | Nová verze

    Vyšlo Pharo 13 s vylepšenou podporou HiDPI či objektovým Transcriptem. Pharo je programovací jazyk a vývojové prostředí s řadou pokročilých vlastností.

    Pavel Křivánek | Komentářů: 4
    Jaký je váš oblíbený skriptovací jazyk?
     (56%)
     (29%)
     (7%)
     (4%)
     (0%)
     (0%)
     (5%)
    Celkem 107 hlasů
     Komentářů: 8, poslední včera 15:58
    Rozcestník

    Dotaz: Ocave - prosím o radu

    24.4.2012 22:38 Standa
    Ocave - prosím o radu
    Přečteno: 244×
    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.