piątek, 11 listopada 2011

Battlefield 3 - nieśmiertelnik za darmo


Na stronie AlienWare możecie zdobyć za darmo nieśmietelnik (dog tag) przedstawiony powyżej. Wystarczy zarejestrować się w serwisie (http://www.alienwarearena.com/account/register/) a następnie na stronie http://www.alienwarearena.com/giveaway/battlefield-3-dog-tag-item-giveaway/ kliknąć GET KEY (przycisk znajduje się w ramce po prawej stronie).
Otrzymany kod dodajemy do naszego konta Origin. Liczba kodów jest ograniczona.

piątek, 28 października 2011

Praca w Allegro

Na stronie allegro znaleźć można kod:

Nie trzeba być geniuszem aby domyślić się co cyferki mogą oznaczać. Są to kody znaków zapisane w formacie szesnastkowym.

Poniżej rozkodowana wiadomość:
Gratulacje! Pierwszy etap za Tobą. Aby rozpocząć drugi wyślij CV na adres developer-php@allegro.pl

Jak widzicie Allegro zaprasza licealistów programistów PHP do składania résumé.

sobota, 22 października 2011

Odnajdywanie twarzy za pomocą obrazu HSV

Zainspirowany algorytmem http://www.matmidia.mat.puc-rio.br/sibgrapi2009/media/posters/59928.pdf postanowiłem spróbować wyszukiwania twarzy za pomocą obrazu HSV.
Największym problemem okazało się dobranie dobrych parametrów koloru skóry. Po próbach osiągnąłem zadowalające efekty stosując parametry, które znajdziecie w kodzie poniżej:

Algorytm wyszukiwania jest bardzo prosty. Konwertujemy obraz do przestrzeni HSV a następnie podświetlamy tylko wartości z danego przedziału.

Dalsze czynności to odszukanie konturów i wybranie największego obszaru.

środa, 12 października 2011

Aero2 - użycie modemu Huawei K3765-HV pod Windows 7 x64

Chcąc korzystać z Aero2 w domu zakupiłem modem Huawei K3765-HV brandowany dla sieci Vodafone. Jeśli ktoś jest zainteresowany to polecam przejrzeć aukcje sprzedawcy http://allegro.pl/my_page.php?uid=3066898. Modem wraz z (bezpłatną) przesyłką kosztował 129zł.
Za tą cenę liczyłem na instalacje Plug&Play. Jednak grubo się pomyliłem. Po zainstalowaniu sterowników dołączonych do sprzętu (po podpięciu do systemu widać je jako dodatkowy napęd CD) okazało się, że nie są podpisane cyfrowo i system Windows, mimo iż chwilę wcześniej je zainstalował odmawia współpracy. Do tego po odłączeniu urządzenia nie chce ich go zainstalować ponownie.
Poszukiwanie i próby kolejnych rozwiązań zajęły mi trzy godziny. W końcu trafiłem na forum http://www.bez-kabli.pl/viewtopic.php?t=29029 (kto by pomyślał żeby szukać po polsku) gdzie znalazłem działające rozwiązanie. Pozwolę je sobie poniżej zacytować:
1. Należy pobrać spakowany folder z tej strony http://www.sendspace.com/file/1bq6my i następnie go rozpakować. 
2. Następnie wybieramy folder czyszczenie poprzednich sterowników i usuwamy sterowniki za pomocą dołączonej aplikacji 
3. Podpinamy modem i powinien wykryć 1-2 urządzenia. Następnie powiadomi o prawidłowej instalacji sterownika. Teraz przystępujemy do instalacji modemu Install_Driver_v.3.17_Huawei_K3765-HV_Vodafone.exe, który również znajdziemy w jednym ze ściągniętych folderów. 
4. Następnie instalujemy oprogramowanie Mobile Partner, które znajdziecie oczywiście w nowym folderze. 
5. Odpinamy na parę sekund modem z USB i pochwili podłączamy ponownie. Powinien teraz wykryć wszystkie niezbędne sterowniki dla modemu. 
6. Uruchamiamy Mobile Partner i cieszymy się w pełni działającym modemem. Oczywiście jeszcze musicie stworzyć odpowiedni profil dla swojej sieci komórkowej.

Po wykonaniu czynności zgodnie z opisem internet zaczął dobrze działać.
Plik który jest podany wyżej możecie pobrać również tutaj. Został załadowany z wykorzystaniem internetu Aero2.

poniedziałek, 3 października 2011

Aero2 - bezpłatny dostęp do internetu (akt drugi)


Dziś, kilka dni szybciej niż pisali na stronie internetowej, otrzymałem kartę BDI (Bezpłatny dostęp do Internetu) Aero2. Niestety to koniec dobrych wiadomości. Karta nie działa w telefonie komórkowym - rzekomo obsługującym standard UMTS 900 więc nie mogę jej przetestować.
Czeka mnie zakup drogiego modemu. Chyba trzeba pożegnać się z preorederem Battlefielda 3 ;(

czwartek, 29 września 2011

Uncircle+ czyli jak wyczyścić swoje kręgi w Google+

Dzięki Antyweb.pl dowiedziałem się o prostym dodatku do Chrome, który pozwala usunąć z naszych kręgów osoby nie udostępniające żadnych informacji.
Dodatek nazywa się Uncircle+ a znajdziecie go na Chrome Web Store https://chrome.google.com/webstore/detail/dhcfgcecigkknnimiljlbcjmnbeeodhl.
Sama obsługa jest bardzo prosta. Wybieramy jakie kręgi chcemy oczyścić, określamy jaki zakres czasu udostępniania informacji jest dla nas interesujący i zaprzęgamy Uncircle+ do działania. Po chwili otrzymujemy listę osób, które bez żalu można usunąć z naszych kręgów.

Polecam.
[źródło]

piątek, 2 września 2011

Aero 2 - Bezpłatny dostęp do internetu

Spółka Aero 2, zajmująca się dysponowaniem bezpłatnego dostępu do internetu, pod naciskiem UKE (Urząd Komunikacji Elektronicznej) wprowadziła możliwość odbioru "bezpłatnych" kart sim za pomocą przesyłki pocztowej. Warto zaznaczyć, że wcześniej można było odbierać karty tylko osobiście w siedzibie spółki w Warszawie.
Więcej informacji o składaniu wniosków można znaleźć na witrynie operatora pod adresem http://aero2.pl/www/bdi.html

Dzisiaj też wysłałem list ze wszystkimi wymaganymi dokumentami. Przekonamy się ile czasu będę czekał na odbiór karty.

wtorek, 30 sierpnia 2011

Kompilowanie cvBlobsLib pod Visual Studio 2010

Aby inni nie musieli męczyć się z kompilacją wspomnianej biblioteki (dostępnej pod http://opencv.willowgarage.com/wiki/cvBlobsLib) zamieszczam sposób znaleziony na jednym z forów.
Należy zakomentować linię:
#define _SHOW_ERRORS 
znajdującą się w pliku: BlobLibraryConfiguration.h

Oczywiście należy zmienić też ścieżki dostępu do biblioteki OpenCV podane w ustawieniach projektu.

Uwaga: Nie wiem co powoduje usunięcie tego parametru. Jeśli pojawią się błędy podczas działania programu wspomnę o tym tutaj.

wtorek, 9 sierpnia 2011

Zrzuty ekranu emulatora Androida

Nie każdy wie iż istnieje prosta metoda wykonywania zrzutów ekranu z naszej aplikacji Androidowej prosto w  Eclipse IDE.
Wystarczy przejść na widok DDMS (Przyciski po prawej stronie bądź menu Window -> Open Perspective -> Other... i Wybieramy DDMS).
Po lewej stronie w Okienku Devices znajdziemy przycisk aparatu (pokazany na screenie poniżej).


ROI czyli Region of interest w OpenCV

Czym jest ROI? To obszar obrazu który nas interesuje. W moim przypadku to część obrazu na której znaleziono twarz.
Do obrazu będącego ROI można w bardzo prosty sposób się dostać:
Służy do tego specjalny konstruktor cv::Mat który jako argument przyjmuje inny obraz Mat (img) oraz obiekt klasy Rect (rect) określający obszar zawężenia obrazu. Ważne aby Obiekt Rect nie wykraczał obszarem poza rozmiar podanego img.
Po wykonaniu powyższego kodu pod zmienną roi mamy obiekt klasy Mat z ograniczonym obrazem.

czwartek, 4 sierpnia 2011

Google Music Beta - wrażenia z użytkowania

Google nie kazało mi długo czekać na zaproszenie do swojej nowej usługi. Po 4 dniach od wysłania prośby otrzymałem zaproszenie do testów.

Usługa Music służy do przechowywania naszych zbiorów muzycznych w chmurze. Dzięki temu możemy je odtwarzać na dowolnym urządzeniu posiadającym odpowiednią aplikację. Przetestowałem działanie Music na telefonie z Androidem oraz laptopie. Interfejs aplikacji webowej (bo tylko tak możemy korzystać z Music Beta na komputrze) jest przejrzysty choć mało intuicyjny (przydała by się obsługa prawego klawisza myszy).


Dużo lepiej sprawuje się dedykowana aplikacji na Androida. Jest wygodna w użytkowaniu a do tego bardzo ładna.


Dodatkowo na PC mamy możliwość zainstalowania aplikacji która skanuj nasze foldery z muzyką i automatycznie wrzuca ją w chmurę.

Ostatnimi czasy testowałem wiele usług muzycznych wydaje mi się jednak, że zostanę przy Google Music (przynajmniej do czasu aż Spotiffy będzie dostępne w Polsce).
Pozostaje teraz tylko zaopatrzyć się w spore zasoby muzyki i wrzucić je na swoje Google Music Beta.

środa, 3 sierpnia 2011

Słuchamy Eski Rock w odtwarzaczu

Eska Rock nie udostępnia na swojej stronie linku do strumienia który to moglibyśmy dodać do odtwarzacza muzyki.
Nie oznacza to jednak że takiego adresu nie ma. Aby cieszyć się ulubionym radiem za pomocą odtwarzacza (np. Winampa) możemy wykorzystać adres: http://warszawa.radio.pionier.net.pl:8000/pl/eskarock.mp3

Wystarczy w programie wybrać opcję Dodaj adres URL (bądź odpowiadającą) i podać powyższy link.

Miłego słuchania.

poniedziałek, 1 sierpnia 2011

Składanie prośby o Google Music Beta

Google Music Beta to usługa pozwalająca nam przechowywać muzykę w chmurze oraz odsłuchiwać ją na wielu różnych typach urządzeń. Czytając wpis na blogu Spider's Web można dojść do wniosku, że nie jest ona warta uwagi.
Warto jednak spróbować samemu.
Nie jest to jednak proste gdyż dostęp do usługi jest ograniczony tylko do Stanów Zjednoczonych i dla grupy zaproszonych użytkowników.
Poniżej podaję rozwiązanie pierwszego problemu - złożenia prośby o zaproszenie. Nie wiem jednak kiedy zaproszenie zostanie wysłane i czy w ogóle zostanie.

Aby złożyć prośbę wchodzimy na stronę http://www.newipnow.com/ i w polu Connect to podajemy adres: http://music.google.com
Poniżej zaznaczamy adres proxy pochodzący ze USA.
Na nowej stronie logujemy się swoimi danymi konta Google i składamy prośbę o zaproszenie.


Mam nadzieję że uda się Wam uzyskać dostęp do Google Music. Pamiętajcie o mnie przy wykorzystywaniu zaproszeń które otrzymacie po zalogowaniu. ;)

niedziela, 31 lipca 2011

Zakładanie konta na Spotify

Spotify to usługa pozwalająca słuchać zasobów muzycznych (25 tys. albumów) prosto z chmury. Niestety nie jest ona dostępna dla polskich użytkowników. Jednak wykazując trochę inicjatywy możemy założyć konto w serwisie.
Wykorzystamy do rejestracji stronę web proxy.

1. Przechodzimy na stronę: http://www.daveproxy.co.uk/ i w polu Enter URL wprowadzamy: https://www.spotify.com/en/get-started/
2. Potwierdzamy przyciskiem GO
3. Po prawej stronie u góry strony Spotify klikamy na Log in a następnie na Sign Up
4. Wypełniamy formularz rejestracyjny podająć kod pocztowy z UK. (np. WC2H 7LA)
5. Po zakończonej rejestracji pobieramy program ze strony spotify i logujemy się otrzymanymi danymi.

Konto w taki sposób możemy testować przez dwa tygodnie. Program wie, że znajdujemy się poza granicą Zjednoczonego Królestwa i blokuje dostęp (płatne konta nie mają tego obostrzenia). Przed tym czasem należy ponownie zalogować się poprzez daveproxy na stronę spotify aby przedłużyć możliwość korzystania na kolejne dwa tygodnie.

Niestety nie ma możliwości zapłaty za płatne konto za pomocą PayPala bądź karty kredytowej zarejestrowanych na polski adres.
Jeśli ktoś zna sposób na wykupienie płatnego konta niech się nim podzieli.

Przeszukiwanie pikseli na obrazie

Detekcję twarzy rozpocząłem od wyszukania pierwszego niezerowego piksela na binarnym obrazie różnicowym.



Aby odczytać pojedynczy piksel musiałem przekształcić obraz z formatu Mat na IplImage i użyć metody cvGetReal2D. Iteruję po pikselu poczynając od górnego lewego rogu. Kiedy wartość jest większa od zera zwracam ten punkt (warto zwrócić uwagę na odwrotną kolejność współrzędnych w cvGetReal2D a w konstruktorze Point).
Na wszelki wypadek gdyby wszystkie piksele były czarne zwracam na końcu wartość Point(0,0)

sobota, 30 lipca 2011

Detekcja ruchu za pomocą obrazu różnicowego

Aby odnaleźć twarz na obrazie możemy wykorzystać również analizę obrazu różnicowego. Idea takiej operacji jest bardzo prosta. Pobieramy ramkę obrazu (dla wygody zmieniamy ją na odcienie szarości) i porównujemy z następną.
Z pomocą przychodzi nam metoda absdiff(ramka1, ramka2, wyjście). Po działaniu absdiff otrzymujemy obraz gdzie jasny kolor oznacza różnice.
Podczas operacji może przeszkadzać nam szum na obrazie wideo. Aby go usunąć możemy zastosować binaryzację, erozję i dylatację obrazu wynikowego.
Poniżej kod prezentujący daną metodę oraz przykład działania.




Detekcja twarzy za pomocą kaskady Haara

Poszukując informacji o detekcji twarzy znalazłem ciekawy film obrazujący działanie wyszukiwania twarzy metodą Viola Jones. Na filmie widać jak części obrazu są porównywane do zapisanych integral images. Widać również że jeden sukces wyszukiwania nie wystarcza i przeprowadzanych jest kilka przebiegów aby potwierdzić czy znaleziono twarz.

OpenCV Face Detection: Visualized from Adam Harvey on Vimeo.


piątek, 29 lipca 2011

Publikowanie fragmentów kodu w Bloggerze

Poszukując prostej metody opublikowani kodu źródłowego na blogu odnalazłem interesującą a za razem prostą metodę.

1. Odwiedzamy stronę https://gist.github.com.
2. Wklejamy nasz kod źródłowy i podajemy nazwę pliku bądź sami wybieramy język kodowania.
3. Klikamy Create Public Gist
4. Pod przyciskiem show embed znajdziemy kod który musimy wkleić do naszego posta.
5. Aby wszystko wyświetliło się prawidłowo w opcjach publikacji na bloggerze wybieramy opcję "Interpretuj wpisany kod HTML"

Poniżej przykład kodu wyświetlony za pomocą Gista

Konfiguracja OpenCV 2.3 w Microsoft Visual Studio 2010 pod systemem Windows 7 x64

Po wielu próbach i nieudanych eksperymentach postanowiłem opisać sposób na skonfigurowanie nowego OpenCV (wersja 2.3 Lipiec 2011) pod MS Visual Studio 2010 i systemem Windows 7 x64.
Główną zaletą wersji 2.3 jest działająca obsługa większej ilości kamer. Myślę że jest to wystarczający powód aby się z nią zapoznać.

Instalacja biblioteki
1. Kierujemy się na stronę http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/ i pobieramy plik OpenCV-2.3.0-win-superpack.exe.

2. Pobrany plik jest tylko spakowanym archiwum. Podczas instalacji pyta o lokalizację do zapisu. Wprowadzamy zatem ścieżkę C:\Program Files\
Bibliotek zostanie zainstalowana w folderze C:\Program Files\OpenCV2.3
(Można zainstalować bibliotekę również w innej lokalizacji. Należy wtedy w kolejnych krokach odpowiednio zmienić wprowadzany adres).

3. Kolejnym krokiem jest dodanie lokalizacji plików dll do zmiennej systemowej Path.
Uruchamiamy Zaawansowane ustawienia systemu (prawym na Komputer -> Właściwości a następnie Zaawansowane ustawienia systemu po lewej stronie okna).
W nowo otwartym oknie wybieramy Zaawansowane -> Zmienne środowiskowe...


W dolnej części okna Zmienne środowiskowe wybieramy zmienną Path i kikamy przycisk Edytuj...


Na końcu ciągu Wartość zmiennej dopisujemy: ;C:\Program Files\OpenCV2.3\build\bin\;C:\Program Files\OpenCV2.3\build\x64\vc10\bin\
Następnie potwierdzamy zmiany i wychodzimy z ustawień. W tym momencie należy uruchomić ponownie komputer.

Stworzenie projektu w VS
1. Wybierz File -> New -> Project...
2. Po lewej stronie rozwijamy Installed Templates -> Other Languages -> Visual C++ -> Win32 i wybieramy Win32 Console Application


3. Wprowadzamy nazwę projektu i zatwierdzamy przyciskiem OK.
4. W następnym oknie klikamy Finish

Konfiguracja VS
1. Wybieramy Ustawienia projektu (menu Project -> Proporties)


2. Po prawej stronie okna wybieramy Configuration Manager...


3. W oknie Managera konfiguracji rozwijamy listę Active solution platform i wybieramy


4.  Z listy Type or select the new platform wybieramy x64. Nie zmieniając pozostałych własności klikamy OK.


5. Zamykamy również okienko Menagera konfiguracji upewniwszy się że Active solution platform wskazuje na x64.
6. W menu po lewej stronie rozwijamy Configuration Proporties -> C/C++ -> General


7. W Additional Include Directories wklejamy: C:\Program Files\OpenCV2.3\build\include;C:\Program Files\OpenCV2.3\build\include\opencv;%(AdditionalIncludeDirectories)


8. Rozwijamy Configuration Proporties -> Linker -> Input


9. Czyścimy zawartość Additional Dependencies i wklejamy tam "C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_core230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_highgui230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_video230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_ml230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_legacy230d.lib";"C:\Program Files\OpenCV2.3\build\x64\vc10\lib\opencv_imgproc230d.lib";%(AdditionalDependencies)


10. Klikamy Zastosuj i OK

Uruchomienie kodu
W edytorze kodu wklejamy poniższy kod i wciskamy F5 (Start debugging)