Kirjoittaja Aihe: MagicWand/FuzzySelect, jolla saisi koordinaatit tietyllä värillä tehdystä aluees  (Luettu 3533 kertaa)

JA5U

  • Käyttäjä
  • Viestejä: 462
    • Profiili
Moi

Löytyyköhän joku CLI ratkaisu, jolla saisi palautettua kuvasta tietyllä värillä väritetyn alueen koordinaatit?
Gimpissähän on tällainen toiminto alueen valintaan, joten jossain se käsittelee koordinaatteja.

nm

  • Käyttäjä
  • Viestejä: 16250
    • Profiili
MagicWand/FuzzySelect lähtee tietystä määritellystä pisteestä ja valitsee ympäröivän samanvärisen alueen (annetuissa rajoissa). Sama onnistuu vaikkapa tällaisella ImageMagick-skriptillä: http://www.fmwconcepts.com/imagemagick/magicwand/

Löytyyköhän joku CLI ratkaisu, jolla saisi palautettua kuvasta tietyllä värillä väritetyn alueen koordinaatit?

Tämä on aikalailla vastakkainen operaatio. Eli haluat jollain tavalla paikantaa kuvasta tietyn väriset alueet? Haluatko alueen painopisteen vai vasemman yläkulman vai rajoittavan suorakulmion vai jokaisen pisteen sijainnin? Erilliset alueet erikseen vai kaikki yhdessä?

Tietyn värisen alueen käyttäminen maskina johonkin muuhun operaatioon on normaali toimenpide, joka onnistuu vaikkapa ImageMagickilla. Sen sijaan koordinaattien listaus halutulla tavalla kuulostaa ohjelmointiprojektilta. Jos tavoite olisi tarkemmin tiedossa, neuvominen voisi olla helpompaa.

JA5U

  • Käyttäjä
  • Viestejä: 462
    • Profiili
MagicWand/FuzzySelect lähtee tietystä määritellystä pisteestä ja valitsee ympäröivän samanvärisen alueen (annetuissa rajoissa). Sama onnistuu vaikkapa tällaisella ImageMagick-skriptillä: http://www.fmwconcepts.com/imagemagick/magicwand/

Löytyyköhän joku CLI ratkaisu, jolla saisi palautettua kuvasta tietyllä värillä väritetyn alueen koordinaatit?

Tämä on aikalailla vastakkainen operaatio. Eli haluat jollain tavalla paikantaa kuvasta tietyn väriset alueet? Haluatko alueen painopisteen vai vasemman yläkulman vai rajoittavan suorakulmion vai jokaisen pisteen sijainnin? Erilliset alueet erikseen vai kaikki yhdessä?

Tietyn värisen alueen käyttäminen maskina johonkin muuhun operaatioon on normaali toimenpide, joka onnistuu vaikkapa ImageMagickilla. Sen sijaan koordinaattien listaus halutulla tavalla kuulostaa ohjelmointiprojektilta. Jos tavoite olisi tarkemmin tiedossa, neuvominen voisi olla helpompaa.
Pointti oli se, että miten siihen yhden pisteen sisältämän värin muodostamaan alueeseen ts. koordinaatteihin pääsisi käsiksi.
Mikä tahansa skripti joka toteuttaa tällaisen toiminnon täytyy käsitellä niitä koordinaatteja jossain vaiheessa.

Ajatus on, että käyttäjä klikkaa kuvaa sivustolla, josta napataan pikselin koordinaatit, ja jotka lähetetään palvelimelle mw/fuzzya varten.
Palvelin palauttaisi arvot selaimelle, jotka renderöidään koordinaatit.
Tämä toimisi sitten yhteen monessakin eri tarkoituksessa.

Clientissa tämä on myös mahdollista toteuttaa. Backendi tuli kuitenkin ekana mieleen, koska sillä puolen on tehty luultavasti enemmän.

Edit: kai joku GIMP on avointa lähdekoodia - sieltä kai joku malli löytyis.

nm

  • Käyttäjä
  • Viestejä: 16250
    • Profiili
Pointti oli se, että miten siihen yhden pisteen sisältämän värin muodostamaan alueeseen ts. koordinaatteihin pääsisi käsiksi.
Mikä tahansa skripti joka toteuttaa tällaisen toiminnon täytyy käsitellä niitä koordinaatteja jossain vaiheessa.

Ajatus on, että käyttäjä klikkaa kuvaa sivustolla, josta napataan pikselin koordinaatit, ja jotka lähetetään palvelimelle mw/fuzzya varten.
Palvelin palauttaisi arvot selaimelle, jotka renderöidään koordinaatit.

Tuolla linkkaamallani Magicwand-skriptillä voit suorittaa tuollaisen sumean valinnan koordinaatin perusteella. Ulostulon saat halutessasi vaikkapa bittikarttana, jossa on väritetty mustaksi valittu alue, ja muu osa kuvasta on valkoista. Sitä voi sitten käyttää maskina muihin operaatioihin. Tai voit renderöidä haluamasi asiat saman tien ImageMagickilla.

Toki homma kannattaisi tehdä kokonaan clientin puolella JavaScriptillä, jos ei ole tarvetta tallentaa tilaa tai lopputulosta palvelimelle.

Edit: kai joku GIMP on avointa lähdekoodia - sieltä kai joku malli löytyis.

On avointa koodia ja tuon voi tehdä Gimpin python-skriptauksellakin, mutta menee aika overkilliksi.
« Viimeksi muokattu: 02.04.17 - klo:19.07 kirjoittanut nm »

JA5U

  • Käyttäjä
  • Viestejä: 462
    • Profiili
Idea on, että niitä koordinaatteja voisi hyödyntää ja luultavasti myös muokata.
Niistä olis tarkoitus luoda monikulmio, jota voi sitten veivailla tarpeen vaatiessa.

nm

  • Käyttäjä
  • Viestejä: 16250
    • Profiili
Idea on, että niitä koordinaatteja voisi hyödyntää ja luultavasti myös muokata.
Niistä olis tarkoitus luoda monikulmio, jota voi sitten veivailla tarpeen vaatiessa.

Mutta mitkä koordinaatit haluat? Valitun alueen reunaviivan jokaisen pikselin koordinaatit? Entä alueessa olevat reiät?

Kyllä tuo menee puhtaasti koodaushommiksi. Gimpin toteutus varmaankin antaisi valinnan reunan polkuna, mutta Gimpin liittäminen tällaiseen web-sovellukseen on jokseenkin kyseenalaista.


Lisäys: Tuolla http://www.fmwconcepts.com/imagemagick/magicwand/ -sivulla on viimeisenä esimerkkinä masks-kohdassa reunaviivan piirtäminen maskina. Sellaisesta bittikartasta voit määrittää reunaviivan pikselien koordinaatit suht helposti.
« Viimeksi muokattu: 02.04.17 - klo:20.02 kirjoittanut nm »

JA5U

  • Käyttäjä
  • Viestejä: 462
    • Profiili
Reunat, jotta saan tehtyä siitä monikulmion, jota käyttää sellaisenaan tai muokata.

Haluan vain sen monikulmion, että voin tehdä sille mitä ikinä muodoilke (vektori) voikaan clientissa tehdä.

kamara

  • Käyttäjä
  • Viestejä: 2951
    • Profiili
Reunat, jotta saan tehtyä siitä monikulmion, jota käyttää sellaisenaan tai muokata.

Haluan vain sen monikulmion, että voin tehdä sille mitä ikinä muodoilke (vektori) voikaan clientissa tehdä.

Riittääkö ulkoreuna, vai voiko kappaleessa olla myös o:n mukaisia sisäreunoja.

Jos riittää ulkoreuna, niin sen tekeminen on varsin triviaalia. Jos on mukana sisäreunojakin, niin vaaditaan hivenen moimutkaisempi ohjelma, muttei silloinkaan ylivoimaisen vaikea.