DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   provera duplikata fajlova (http://www.devprotalk.com/showthread.php?t=8611)

ivan.skugor 09. 04. 2010. 11:53

Citat:

Originalno napisao jablan (Napišite 82985)
Off Topic: Hash može biti samo isti ili različit, ne može biti "sličan" ;)

Slican hash u smislu da dvije slike imaju isti hash za prvih n kilobyte-a. :)

ivanhoe 09. 04. 2010. 12:24

jpg ne ide po scan linijama, nego se deli slika na kvadrate, pa se oni cik-cak (tj. dijagonalno) prolaze od lego-gore ka desno-dole, pa se na tome radi Furijeova transformacija i odsecanje gornjih harmonika (znaci svi pixeli iz kvadrata uticu na rezultat). Ali u svakom slucaju primedba stoji da sve slike kojima je vece povrsina jednobojna, npr. cosak je beo (ogromna kolicina stock fotki) imaju verovatno vrlo slican data deo, ali ipak im se verovatno razlikuje meta deo (exif i sl..), tako da mislim da bi ovo sto jablan kaze radilo bez problema...

robi-bobi 09. 04. 2010. 14:30

razmotri i http://www.tineye.com/

jablan 09. 04. 2010. 15:33

Citat:

Originalno napisao misk0 (Napišite 82986)
Dosta slika prirode imaju 1/3nu neba koje je u gornjem dijelu i moguce je da je isto/slicno za velik broj slika.

Kao što rekoh, nema kod slika slično, nego ili je isto ili nije... :)

Mogli bismo da napravimo mali eksperiment: svako od nas napravi skroz beli JPG 1000x1000, pa da vidimo koliko prvih bajtova im se poklapa. Ja tipujem na između 10 i 50. ;)

misk0 09. 04. 2010. 16:20

Citat:

Originalno napisao ivanhoe (Napišite 82993)
jpg ne ide po scan linijama, nego se deli slika na kvadrate, pa se oni cik-cak (tj. dijagonalno) prolaze od lego-gore ka desno-dole, pa se na tome radi Furijeova transformacija i odsecanje gornjih harmonika (znaci svi pixeli iz kvadrata uticu na rezultat). A

A kolike su velicine tih kvadrata? Stvarno nisam citao nista o formatu, ali znam da kad sam dobijao 'pola slike' (recimo prekine se transfer), da se vidi gornja polovina slika cijela a ostatak je siv.

ivanhoe 09. 04. 2010. 20:18

nisam jasno napisao, kvadrati idu sleva na desno, redom, ali unutar svakog kvadrata se skeniranje radi po dijagonali... inace zbog tih kvadrata se javljaju jpeg artefakti, tako da kad stavis maximalnu kompresiju mozes jasno da ih vidis...

Nemanja Avramović 09. 04. 2010. 22:37

Mislim da su kvadrati veličine 8x8px - makroblokovi nad kojima se vrši DCT (furijeova transformacija), kvantizacija pa RLC

ivan.skugor 11. 04. 2010. 13:30

Citat:

Originalno napisao jablan (Napišite 82998)
Mogli bismo da napravimo mali eksperiment: svako od nas napravi skroz beli JPG 1000x1000, pa da vidimo koliko prvih bajtova im se poklapa. Ja tipujem na između 10 i 50. ;)

Postoji vise razlicitih nacina kodiranja JPEG slika, pa je stoga moguce da se sve slike poprilicno razlikuju (byte-ovno gledano).

Medjutim, kad bi svi koristili isti nacin kodiranja, dobili bi iste slike.


Enivej, nisam proucavao JPEG standard, ali sigurno postoje nekakvi meta-podaci o slici kakvi inace postoje kod slicnih stvari (od kojih su neki i nacini kodiranja, level kompresiranja, itd.), a koji su najvjerovatnije stavljeni na pocetak. Njihove varijacije nisu velike, pa stoga vjerojatnost da dvije slike imaju isti hash na temelju prvih n kilobyte-a uvelike raste ako uzmemo u obzir veliku kolicinu slika prvenstveno, a zatim i vec spomenute slicnosti tematike slika (nebo, mrak, jednobojne pozadine). Naravno, ta vjerovatnost uvelike ovisi i o odabiru broja n (veci n manja vjerojatnost pronalaska istog hash-a za razlicite slike).

Ja na problem gledam matematicki, mozda ne bi bilo lose prouciti standard. :)


Vreme je GMT +2. Trenutno vreme je 12:08.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.