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 20:11 | Zajímavý software

    Desktopové prostředí Xfce bude mít vlastní kompozitor pro Wayland s názvem xfwl4. V programovacím jazyce Rust s využitím stavebních bloků z projektu Smithay jej napíše Brian Tarricone. Úprava stávajícího xfwm4 tak, aby paralelně podporoval X11 i Wayland, se ukázala jako špatná cesta.

    Ladislav Hagara | Komentářů: 2
    dnes 19:11 | Komunita

    Desktopové prostředí KDE Plasma 6.8 poběží už pouze nad Waylandem. Vývojáři, kteří s rozhodnutím nesouhlasí, vytvořili fork KDE Plasma s názvem SonicDE (Sonic Desktop Environment) s cílem zachovat a vylepšovat podporu X11.

    Ladislav Hagara | Komentářů: 3
    dnes 12:22 | Nová verze

    Byla vydána nová stabilní verze 7.8 dnes již jedenáctiletého webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 144. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 4
    dnes 10:33 | Nová verze

    GNU gettext (Wikipedie), tj. sada nástrojů pro psaní vícejazyčných programů, dospěl do verze 1.0. Po více než 30 letech vývoje. Přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 1
    dnes 05:11 | IT novinky

    Chris Kühl (CEO), Christian Brauner (CTO) a Lennart Poettering (Chief Engineer) představili svou společnost Amutable. Má přinést determinismus a ověřitelnou integritu do linuxových systémů.

    Ladislav Hagara | Komentářů: 12
    včera 20:11 | Nová verze

    Byla vydána (𝕏) nová verze 26.1 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 26.1 je Witty Woodpecker. Přehled novinek v příspěvku na fóru.

    Ladislav Hagara | Komentářů: 2
    včera 15:11 | Zajímavý projekt

    Deník TO spustil vlastní zpravodajský webový portál ToHledej.CZ s internetovým vyhledávačem a bezplatnou e-mailovou schránkou. Dle svého tvrzení nabízí 'Zprávy, komentáře, analýzy bez cenzury' a 'Mail bez šmírování a Velkého bratra'. Rozložením a vizuálním stylem se stránky nápadně podobají portálu Seznam.cz a nejspíše je cílem být jeho alternativou. Z podmínek platformy vyplývá, že portál využívá nespecifikovaný internetový vyhledávač třetí strany.

    NUKE GAZA! 🎆 | Komentářů: 27
    včera 14:11 | Zajímavý projekt

    Computer History Museum (Muzeum historie počítačů) zpřístupnilo své sbírky veřejnosti formou online katalogu. Virtuálně si tak můžeme prohlédnout 'rozsáhlou sbírku archivních materiálů, předmětů a historek a seznámit se s vizionáři, inovacemi a neznámými příběhy, které revolučním způsobem změnily náš digitální svět'.

    NUKE GAZA! 🎆 | Komentářů: 12
    včera 14:00 | Zajímavý projekt

    Ruský hacker VIK-on si sestavil vlastní 32GB DDR5 RAM modul z čipů získaných z notebookových 16GB SO-DIMM RAM pamětí. Modul běží na 6400 MT/s a celkové náklady byly přibližně 218 dolarů, což je zhruba třetina současné tržní ceny modulů srovnatelných parametrů.

    NUKE GAZA! 🎆 | Komentářů: 15
    včera 11:00 | Upozornění

    Národní identitní autorita (NIA), která ovlivňuje přihlašování prostřednictvím NIA ID, MEP, eOP a externích identit (např. BankID), je částečně nedostupná.

    Ladislav Hagara | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (10%)
     (24%)
     (3%)
     (5%)
     (2%)
     (12%)
     (33%)
    Celkem 667 hlasů
     Komentářů: 22, poslední dnes 23:06
    Rozcestník

    Dotaz: Ocave - prosím o radu

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