Base OpenCV installasjon
jeg har jobbet Med OpenCV versjon 3 På Windows og Ubuntu tidligere, og gjorde en enkelt installasjon I OSx for noen år siden.
hvis du landet her, jobber du sannsynligvis på Et Mac – basert system, og ser frem til å jobbe Med OpenCV. Hvis dette er tilfelle, sjekk min forrige artikkel om å få HomeBrew installert på systemet ditt.
Etter Å ha Fått HomeBrew installert, er vårt neste skritt på denne reisen å få den nyeste versjonen Av OpenCV. OpenCV 4 ble utgitt på slutten av 2018, og gir noen nye funksjoner hovedsakelig relatert til dyp læring.
vi er ikke spesielt interessert i disse funksjonene (for nå), men vi får bare den nyeste versjonen, slik at vi ikke trenger å slite i fremtiden med oppdateringer.
Anbefalt les
Det er Et flott nettsted Av Adrian Rosebrock hvor Du kan finne tonnevis av kule eksempler På Forskjellige applikasjoner Av OpenCV, samt installasjonsinstruksjoner.
for dette spesifikke scenariet, da vi bare fokuserer På Java, følger vi de enkle instruksjonene fra følgende nettsted (https://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html), for å endre HomeBrew-formelen For OpenCV, og installere Den Vil Java-kompatibilitet.
Installasjonsprosess
for å installere OpenCV (Med Java-støtte) Gjennom Homebrew, må du redigere opencv-formelen I Homebrew, for å legge til støtte For Java: brew edit opencv
i tekstredigeringsprogrammet som åpnes, endre linjen: -DBUILD_opencv_java=OFF
til -DBUILD_opencv_java=ON
.
sørg også for at du har ant installert i systemet ditt, hvis ikke, installer det også Med HomeBrew.
brew install ant
etter å ha endret brew kommandoen, og installere ant, kan du effektivt installere OpenCV: brew install --build-from-source opencv
Installasjonen vil ta noen minutter. Ikke få panikk!
kommandoen brew install har bygget OpenCV fra kildekoden (som faktisk finnes på GitHub). OpenCV er utviklet I C++, men de tilbyr mange wrappers på forskjellige språk, selv For Mobil og For Nettlesere. Denne byggeprosessen vil generere både wrapper biblioteket .jar-filen, og det innfødte dylib-biblioteket, som vi må referere fra utviklingsmiljøet vårt.
etter at installasjonen Av OpenCV er ferdig, finner du de nødvendige filene i banen nedenfor:
/usr/local/Cellar/opencv/4.3.0_3/share/java/opencv4
- merk denne banen vil variere for Forskjellige OpenCV-versjoner
Sette OPP IDE
jeg skal bruke eclipse For Utvikling. Så jeg må lage et Nytt Java-Prosjekt fra bunnen av.
opprett deretter en tom hovedklasse.
Høyreklikk Prosjektnavnet på project explorer, og klikk på egenskaper.
Gå Til Java Build Path på venstre meny.
Klikk På Legg Til Eksterne Krukker knappen på høyre side,og nettleser for jar-filen generert under OpenCV Build forklart ovenfor.
Velg Jar-filen og Klikk På Åpne.
Klikk nå på pilen til venstre for krukken du nettopp har importert, og klikk deretter på innfødt Bibliotekplassering, og til Slutt klikker Du På Rediger… – knappen på høyre side.
skriv inn banen for dylib-filen i Dialogboksen
/usr/local/Cellar/opencv/4.3.0_3/share/java/opencv4
Endelig Klikk På Bruk Og Lukk.
du er ferdig med å importere OpenCV til Java-Prosjektet ditt.
Du må nå initialisere Biblioteket ved å bruke følgende kommando før Du bruker En OpenCV-Funksjon.
System.loadLibrary (Kjerne.NATIVE_LIBRARY_NAME);
Dette Kjernebiblioteket kommer Fra Åpen CV, så hvis du allerede har Det .jar inn i prosjektet, vil den automatisk prøve å importere den fra org.opencv.kjerne.Kjerne;
en enkel sjekk vil skape en identitetsmatrise og dumpe den ut til konsollen.
Mat mat = Mat.øye (3,3, CvType.CV_8UC1);
System.ut.println («mat =» + mat.dump() );
du bør få følgende utgang i terminalen:
mat =
Dette betyr at Du er ferdig Med OpenCV setup ,og du kan begynne å utvikle Din Datamaskin Visjon basert program I Java: D.
Viktig:
Kontroller at du kompilere og utføre det nye prosjektet med samme jdk versjon Biblioteket ble kompilert, ellers kan du kjøre INN jre kompatibilitetsproblemer. (altså. Biblioteket ble kompilert med en nyere JRE, så det nye Prosjektet vil ikke være i stand til å bruke openCV funksjoner fra den genererte Jar-fil.