Kirchhoff Skrevet 14. mai 2012 Del Skrevet 14. mai 2012 (endret) Jeg lurer på om det er svært vanskelig å få til det jeg beskriver i emnetittelen. Vil ha en: int bilde[640][480]; Med verdier fra 0 til 255. Fra et bilde med VGA oppløsning. Prøvde meg litt med opencv, men deres instruksjoner var mangelfulle/utdaterte. På forhånd takk. EDIT: Kan nevne at jeg bruker code::blocks i windows 7 64 bit og skriver c++ kode. Endret 14. mai 2012 av O:M:A Lenke til kommentar
vegham Skrevet 14. mai 2012 Del Skrevet 14. mai 2012 Open CV: IplImage* img = definer_ditt_bilde_her; IplImage* grey = NULL; cvCvtColor(img,grey,CV_BGR2GRAY); grey er nå svart-hvit. Lenke til kommentar
Kirchhoff Skrevet 14. mai 2012 Forfatter Del Skrevet 14. mai 2012 Så open cv er det enkleste? Hvordan får man det til å fungere med code::blocks? http://opencv.willowgarage.com/wiki/CodeBlocks Jeg har "extracted" openCV 2.4.0. Men jeg skjønner ikke hva de mener med "command line". Hva skal jeg #include og hvor forteller jeg codeblocks hvor jeg har "extracted" openCV? Lenke til kommentar
aC Skrevet 20. mai 2012 Del Skrevet 20. mai 2012 http://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/ Start med den enkleste, gjennomsnittet av de 3 fargene Lenke til kommentar
Valkyrex Skrevet 21. mai 2012 Del Skrevet 21. mai 2012 1) Sett deg inn i JPEG sin filformat 2) Lær deg å implementere compression algoritmen JPEG filene bruker (de du vil jobbe med) 3) Sleng sammen til en klasse / framework 4) Lag interface og så programmet du trenger Ja, det er en litt lengre vei, men gud man lærer mye av det Gjorde det selv med importering og triksing med BMP filer. Skal sies at bitmap er mye enklere enn jpeg =) Lenke til kommentar
Kirchhoff Skrevet 22. mai 2012 Forfatter Del Skrevet 22. mai 2012 (endret) Takk for innspill! Å gjøre RGB til gråskala skal ikke være noe problem. Det som jeg ikke vet hvordan skal gjøres er å lese jpeg fra disk til en array (gjerne 3 dimensjoner som jeg kan konvertere til 2d gråskala). Jeg er nettopp ferdig med c++ fag på universitet. Så jeg har kun erfaring med å kode til konsoll med code::blocks i windows. Derfor trenger jeg å få det lastet til gråskala/farge array, slik at jeg kan jobbe med det. Men google er ikke til hjelp i det hele tatt. Skulle tro det var andre i min situasjon der ute :S Endret 22. mai 2012 av O:M:A Lenke til kommentar
Valkyrex Skrevet 22. mai 2012 Del Skrevet 22. mai 2012 (endret) JPEG bilder er (enkelt sett da) 2 deler. header, bilde data. Man må vite hvordan denne dataen er sortert, for å kunne lese den ut på riktig måte. Man finner det ganske mye info både om filformatets struktur, og også om kompresjonen som brukes i JPEG her: http://en.wikipedia.org/wiki/JPEG. Når det gjelder å lese fra bildet så er det jo bare å bruke ifstream, og lese inn til en til en char* (alloker ettersom hvor stor fila er). Det trenger ikke å ligge i en array, for det er jo bare en fil med innhold. Så stusser litt over valget av å legge inn i en array. For etter du har trukket ut data om f.eks hvor bred og høy bildet er, samt har fjerne kompresjonen fra bildedataen, så er det bare litt for-løkke bruk for å manipulere / iterrere gjennom innholdet. Bare ut av nyskjerrighet, hvilket universitet, og hvor mange studiepoeng var emnet? har der vært igjennom alt fra minneallokering, pekere, arv, alt det der? Endret 22. mai 2012 av Valkyrex Lenke til kommentar
Kirchhoff Skrevet 23. mai 2012 Forfatter Del Skrevet 23. mai 2012 (endret) Ser at det er lite vits i å legge det i en 2d array ja. Kan likegodt legge det i en rekke med unsigned char. NTNU, 7.5 studiepoeng, Prosedyre og objektorientert programmering (kun c++). Ja, har vært gjennom pekere, minnehåndtering osvosv. Men jeg må inntrømme at jeg ikke er 100% stødig på subklasser, arv og minnehåndtering. EDIT: Håper jeg sto på eksamen da EDIT2: Finnes det virkelig ingen ferdige dekodere som returnerer noe bilde data (som feks oppløsning) og dekodet bildedata? Endret 23. mai 2012 av O:M:A Lenke til kommentar
OldMan Skrevet 23. mai 2012 Del Skrevet 23. mai 2012 http://www.ijg.org/ http://www.codeproject.com/Articles/1300/CxImage Lenke til kommentar
Kirchhoff Skrevet 27. mai 2012 Forfatter Del Skrevet 27. mai 2012 Endelig fant jeg noe med forståelig dokumentasjon. nanojpg, c++ port. Her bare kaller jeg en dekoder med peker til jpg dataen og størrelsen på dataen. Ut får jeg en rekke med unsigned char(3 stk pr pixel for rbg). Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå