-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: Borneq <b...@a...hidden.pl>
Newsgroups: pl.comp.programming
Subject: Obcinanie frędzli
Date: Sat, 15 Nov 2014 11:19:26 +0100
Organization: ATMAN - ATM S.A.
Lines: 36
Message-ID: <m479bo$v8e$1@node2.news.atman.pl>
NNTP-Posting-Host: 91.239.205.62
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node2.news.atman.pl 1416046776 32014 91.239.205.62 (15 Nov 2014 10:19:36
GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Sat, 15 Nov 2014 10:19:36 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101
Thunderbird/31.2.0
Xref: news-archive.icm.edu.pl pl.comp.programming:207007
[ ukryj nagłówki ]Mamy szary obraz, rozmywamy go i poddajemy posteryzacji, to znaczy
zmniejszamy liczbę odcieni szarości z 256 na mniejszą, np. jasność
70..79 należy do jednej grupy a jasność 80..89 do drugiej.
Kolorujemy każdą grupę i otrzymujemy:
http://i.imgur.com/mgtJb5E.png
Problemem jest to, że nie otrzymujemy "mapy" a dominują głównie obwódki.
Przykładowe trudne plamy:
http://i.imgur.com/HuD086o.png
http://i.imgur.com/JSKIfyS.png
http://i.imgur.com/HFlK6c8.png
http://i.imgur.com/dg4lSfy.png
http://i.imgur.com/zJL4zvs.png
http://i.imgur.com/DTUowQQ.png
Zadaniem teraz jest obciąć wystające "frędzle". Dla jednego obrazu
wydaje się proste:
oto bierzemy plamę i scanliniami pionowo wyszukujemy kolor od piksela x0
do pikelsa x1
jeśli długość linii x1-x0+1 jest mała wtedy zamalowujemy ją innym
kolorem, przykładowo pierwszą część kolorem x0-1 a drugą x1+1.
Możemy potem brać scanlinie pionowe, co trochę będzie wolniejsze bo
struktura przystosowana jest do scanlinii pioziomych.
Pierwsza niepokojąca rzecz to wydajność: jest około 300 plam na obrazie
512x512, niektóre rozciągają się niemal na cały ekran przy czym w tym
ekranie tylko 3% to kolor plamy. Czyli wielokrotnie będziemy opuszczali
piksele. Choć takich plam może nie jest dominująca ilość - trzeba by
sprawdzić.
Druga rzecz: jeśli usuwamy odcinek frędzla, to jednocześnie pogrubiamy
plamy leżące po prawej i lewej stronie.
A te plamy mogą być zarówno tymi których jeszcze nie obrabialiśmy jak i
te które obrabialiśmy - można to rozpoznać po indeksie koloru.
Gdy nie obrabialiśmy - pogrubia się plamę, choć pogrubiona może bć
jeszcze za wąska
Poza tym ostatecznie: obrobiona plama może podzielić się na kilka części
- tu trzeba chyba zastosować rozrost ziarna i ponumerowąć kolorem każdą
część oddzielnie.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=