Delphi: Jak označit fotografie cesta facebook dělá

hlasů
0

Musím způsob, jak označit fotografie v desktopové aplikace Delphi, jak Facebook to dělá.

To zahrnuje i nějaký způsob, jak snadno přidat značky nad lidmi, a pak umístění myši nad osobou na fotografii pro zobrazení tag.

Tyto dva návrhy na odpověď podanou na „ Delphi komponenty pro identifikaci obličeje a Tagging “ neřeší to.

Ale nemám ponětí, kde začít, a nebyli schopni najít nápady na webu o tom, jak to udělat. Jak se Facebook to? Anebo je tu komponentu pro Delphi, která umožní to.

Jaký by byl nejlepší způsob, jak se pokusit realizovat Facebook podobné značení?


ps To je nějaká definice API for Facebook toto: http://wiki.developers.facebook.com/index.php/Photos.addTag

Zde je Java program, který implementuje funkci označování tváří, že chci dělat v mém Delphi aplikace: fb-photo-uploader

Položena 01/04/2009 v 01:02
zdroj uživatelem
V jiných jazycích...                            


4 odpovědí

hlasů
0

Jsem trochu zmatený, jak na vaši otázku. Snažíte se komunikovat s Facebook nebo jen zkopírovat funkci?

Pokud se snažíte kopírovat funkčnost: byste měli být schopni jen zobrazení obrázku, umožní uživateli zvolit obdélník, případně zkopírovat obraz do nové kopie upozornit jiné osoby s, a použít značku v DB. Některé užitečné odkazy: zde je vybrat příkladem image a tady je kopie obrazu část příkladem. Já bych ve skutečnosti, že byste mohli udělat select obraz v Paintbox ale nemají vlastně hraje s jedním z těch, ve věčně.

Pokud se snažíte získat přístup k rozhraní API: NET rozhraní může pracovat pro vás. Z toho, co mohu říci, neexistuje COM rozhraní, takže si bude muset napsat svůj vlastní konektor nebo použít .NET Delphi aplikaci. Poznámka: všechny tyto informace přichází ze společnosti Google, takže nebudu nadávat nahoru a dolů, že je to opravdu současný stav věcí. Jedinou další požadavek Facebook API jsem viděl, byla od roku 2007.

Chcete-li provést automatické rozpoznání obličeje, OpenCV z odkazované otázku vypadá jako slušný způsob, jak to udělat (zvláště pokud máte přístup k C ++ Builder).

Odpovězeno 01/04/2009 v 02:34
zdroj uživatelem

hlasů
4

Klíčovými parametry API vám citovaného je obraz číslo, souřadnice, a tag. Značka může být buď uživatel ID uživatele Facebooku, nebo to může být free-form textu (pro případ, kdy se značený předmět není uživatelem Facebooku). Facebook používá jen jeden souřadnic, protože používá pevné velikosti oblasti pro označení označené oblasti; Předpokládá se, že kliknete na střed obličej osoby a Facebook právě ukládá tento bod.

Máte-li zobrazit obrázek do TImageovládacího prvku (to je zřejmé první volbou, po tom všem), můžete zjistit kliknutí myší s OnMouseDowna OnMouseUpudálostí. (Dále jen OnClickakce je jednodušší, ale není ti souřadnice.) Poté, co jste získali bod, dotázat se na štítku doprovázet tento bod. Můžete použít předem stanovené štítky, jako je ID uživatele Facebooku, nebo stačí použít obyčejný text nebo použít něco svého sami vytvořili. Otázka, co použít k reprezentaci hodnoty značky je kolmá na cokoliv jiné otázky, které jste požádáni tak daleko.

Druhá polovina Facebooku označování fotografií je to, že pohybem pravým tlačítkem myši zobrazí text tag nad obrázek a pohybem myši na etiketách pod zvýraznění přidružených oblastech. Zvládnout OnMouseMoveudálosti a psát nějaký kód, aby zobrazoval nebo nezobrazoval štítky a tvary podle potřeby. Používáte-li TLabela TShape, možná ani nutné změnit image, ale ukazuje ovládací prvky na horní části obrázku může ovlivňovat další OnMouseMoveakce pro obraz. Nemělo by to trvat příliš dlouho, aby se pokusili nějaké pokusy a zjistit, co pracuje pro vás.

Odpovězeno 01/04/2009 v 04:25
zdroj uživatelem

hlasů
3

lkessler, Četla jsem vaši odpověď Marshall Fryman, takže mohou mít pár možností pro vás:

THotSpotImage - Pokud již máte složky TMS ...

ImageEn - v případě, že již máte ...

Viz W2M Odpověď # 3 Myslím, že dále i třeba získat všechny vnitřní pixelů mých výběrů, takže jak mohu uložit své výběry / objekty?

Uložit výběr pouze uloží výběr sám. To není obrázek uložit uvnitř výběru:

Postup SaveSelectionToFile (const souboru: řetězec); SaveSelectionToFile uloží aktuální výběr do zadaného souboru. Příklad ImageEnView1.Select (10,10,100,100); ImageEnView1.SaveSelectionToFile ( 'selection1'); .. sel1.Position: = 0; ImageEnView1.LoadSelectionFromFile ( 'selection1'); // to je jako Select (10,10,100,100)

Odpovězeno 01/04/2009 v 18:43
zdroj uživatelem

hlasů
0

V Graphic32-knihovny , můžete mít několik vrstev na sebe v obraze. Jedna z vrstev, které je poskytováno z krabice, je TRubberbandLayer , který umožňuje uživateli přemístit / velikost vrstvu za běhu.

Událost mouseMove pro TImage32-složky, má parametr, který dává vrstvu v současné době pod kurzorem.

type TImgMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState; X, Y: Integer; Layer: TCustomLayer) of object;

Kombinace rubberbandlayers a mouseMove událostí by měl být dobrým řešením, myslím.

Odpovězeno 02/04/2009 v 08:25
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more