-
Path: news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsf
eed1.plix.pl!aotearoa.belnet.be!news.belnet.be!feed.xsnews.nl!border-1.ams.xsne
ws.nl!feeder.news-service.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!209.1
97.12.242.MISMATCH!nx01.iad01.newshosting.com!newshosting.com!newsfeed.neostrad
a.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada
.pl.POSTED!not-for-mail
From: Maciej Pilichowski <P...@g...com>
Newsgroups: pl.comp.programming
Subject: Resize obrazka w roznych skalach
Date: Mon, 19 Apr 2010 14:25:31 +0200
Message-ID: <o...@4...com>
X-Newsreader: Forte Agent 1.93/32.576 English (American)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 66
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 79.187.252.98
X-Trace: 1271679930 unt-rea-b-01.news.neostrada.pl 17100 79.187.252.98:54285
X-Complaints-To: a...@n...neostrada.pl
Xref: news-archive.icm.edu.pl pl.comp.programming:185465
[ ukryj nagłówki ]Hej,
Pytanie lamerskie, ale mam zacmienie i nie moge ruszyc z miejsca.
UPRASZCZAJAC:
Mam tablice 2d (obrazek) i mam ja przeskalowac do drugiej tablicy 2d
o innych wymariach. Zeby nie macic, skala zmiany w obu wspolrzednych
jest ta sama.
Jesli testuje procedure, to np. robie skalowanie x2 a nastepnie x0.5
i powinienem dostac optycznie mniej wiecej to samo.
A sama procedura jest prosta -- dla X i Y obliczam wspolczynnik
"skali" -- tj. wielkosc ostatniej wsp. X (lub Y) dla tablicy
wyjsciowej w stosunku do ostatniej wsp. z tablicy oryginalnej.
Pozniej iteruje po wszystkich punktach z tablicy wyjsciowej, licze
jakie sa odpowiedniki wsp. w tablicy oryginalnej i przepisuje wartosci
(+wygladzanie). Mniejsza o artefakty.
Ok, jak do tej pory dziala.
Ale teraz chcialbym nie miec skali tylko liniowej, ale potegowa (no
i odwrotnosc -- logarytmiczna). W ogolnosci skalowanie jest jakas tam
funkcja.
Obliczenie skali i wsp. oryginalnych (dla X) wyglada tak:
// input, prefix i -- wejscie
// output, prefix o -- wyjscie
var ratiox = ((double)input.Width() - 1) / func(output.Width() - 1);
var ix = func(ox) * ratiox;
Jesli chce skale potegowa, to np. wrzucam jako func
i => Math.Pow(2, i) - 1 // 2^i-1
a jesli logarytmiczna
i => Math.Log(i+1,2) // log2 (i+1)
Dziala, kompiluje sie, obrazki sie generuja.
PROBLEM: procedura skalowania logarytmicznego nie jest "odwrotnoscia"
skalowania potegowego (i vice versa). Nie chodzi mi tu o detale takie
jak artefakty 1 pixela. Znieksztalcenia dotycza obrazu jako calosci.
Np. obecnie jesli dam skalowanie potegowe, a pozniej logarytmiczne, to
musze wrzucic jeszcze raz skalowanie potegowe, aby dostac zrodlowy
obrazek.
Jesli zaczne od skalowania logarytmicznego, to musze kilkanascie razy
aplikowac skalowanie potegowe, aby dostac zrodlo.
Rzecz jasna cos musialem przeoczyc, tylko co? :-) Z gory dzieki za
naprowadzenie.
milego dnia, hej
Następne wpisy z tego wątku
- 20.04.10 20:58 Michoo
- 21.04.10 05:52 Maciej Pilichowski
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają