OpenCV рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рднрд╛рдЧ 1. рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб

рдиреЗрд╡рд┐рдЧреЗрдЯрд░:
OpenCV рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рднрд╛рдЧ 1. рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб

рд▓реЗрдЦреЛрдВ рдХреА рдпрд╣ рд╢реНрд░реГрдВрдЦрд▓рд╛ OpenCV рдХрдВрдкреНрдпреВрдЯрд░ рджреГрд╖реНрдЯрд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдЧреАред рдЬрд╛рд╡рд╛ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, JavaCV рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕реНрдерд╛рдкрдирд╛


рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╕рдм рдХреБрдЫ рд▓рд┐рдирдХреНрд╕ рдЙрдмрдВрдЯреВ 12.04 рдХреЗ рддрд╣рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ!
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдЬрд╛рд╡рд╛рд╕реАрд╡реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдлрд┐рд░ рд╣рдо рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдУрдкрдирд╕реАрд╡реА рдХреЗ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рдпрд╣ рдУрдкрдирд╕реАрд╡реА 2.4.6.x рд╣реИред
рд╣рдо OpenCV рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд░рд╣рд╛, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ 2 рдЕрднрд┐рд▓реЗрдЦ рд╣реЛрдВрдЧреЗ:
opencv-2.4.6.1.tar.gz
javacv-0.6-bin.zip

OpenCV рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдЕрдЪрд╛рдирдХ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИ рддреЛ рдЙрд╕реЗ рд╕реЗрдВрдХрдирд╛ рдЪрд╛рд╣рд┐рдП):
apt-get install libgtk2.0-dev
apt-get install cmake

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢:
cd opencv-2.4.6.1/

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ./
рд╕реЗрдореАрдХ рд╕реНрдЯреЗрдЬ рдкрд░, рдХрдВрд╕реЛрд▓ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреЗрдЦрдирд╛ рдФрд░ рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:
рдЬрд╛рд╡рд╛:
- рдЪреАрдВрдЯреА: / usr / рдмрд┐рди / рдЪреАрдВрдЯреА (рдХреНрд░рд┐рдпрд╛ 1.8.2)
- рдЬреЗрдПрдирдЖрдИ: рдирд╣реАрдВ
- рдЬрд╛рд╡рд╛ рдкрд░реАрдХреНрд╖рдг: рдирд╣реАрдВ


JNI рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЛ рд╡рд╣ JAR рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреА, рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ, рдпрджрд┐ рдЖрдкрдиреЗ рдореЗрд░реЗ рдЬреИрд╕рд╛ рд╣реА рджреЗрдЦрд╛, рддреЛ рдЕрдкрдиреЗ $ JAVA_HOME рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЦрд╛рд▓реА рд╣реИ ... рдЖрджрд░реНрд╢ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдЬрд╛рд╡рд╛:
- рдЪреАрдВрдЯреА: / usr / рдмрд┐рди / рдЪреАрдВрдЯреА (рдХреНрд░рд┐рдпрд╛ 1.8.2)
- рдЬреЗрдПрдирдЖрдИ: / usr / lib / jvm / java-8-oracle / рд╢рд╛рдорд┐рд▓ / usr / lib / jvm / java-8-oracle / рд╢рд╛рдорд┐рд▓ / linux / usr / lib / jv / java-8-oracle / рд╢рд╛рдорд┐рд▓
- рдЬрд╛рд╡рд╛ рдкрд░реАрдХреНрд╖рдг: рд╣рд╛рдБ

рд╣рдо рдЖрдЧреЗ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ:
make
make install
рдЗрд╕ рдмреАрдЪ, рд╡реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЖрдк рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдХреЙрдлреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ!

IDE рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВ


рд╣рдо рдПрдХ рдирд┐рдпрдорд┐рдд рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣рд╛рдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
javacv.jar
javacpp.jar
javacv-linux - * рдЬрд╛рд░

рдФрд░ рдПрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╡реЗрдмрдХреИрдо рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ, рдФрд░ рдлрд┐рд░ рднреА рдлреЛрдЯреЛ рдХреЛ рдмрдЪрд╛рдПрдВ:
 package Habr; import com.googlecode.javacv.CanvasFrame; import com.googlecode.javacv.FrameGrabber; import com.googlecode.javacv.cpp.opencv_core.*; import com.googlecode.javacv.OpenCVFrameGrabber; import static com.googlecode.javacv.cpp.opencv_core.cvFlip; import static com.googlecode.javacv.cpp.opencv_highgui.*; public class HelloWorld { public static void main(String[] args) { CanvasFrame canvas = new CanvasFrame("Webcam"); canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); FrameGrabber grabber = new OpenCVFrameGrabber(""); try { grabber.start(); IplImage img; while (true) { img = grabber.grab(); canvas.setCanvasSize(grabber.getImageWidth(), grabber.getImageHeight()); if (img != null) { cvFlip(img, img, 1); cvSaveImage("/home/vlad/1.jpeg", img); canvas.showImage(img); } } } catch (Exception e) { } } } 


рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдиреЗ рдЖрдк рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдкрд░ рдПрдХ рддрд╕реНрд╡реАрд░ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ :) рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ OpenCV рдХреНрдпрд╛ рд╣реИ, рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдзрдиреНрдпрд╡рд╛рдж, рдмрд╕ рдЗрддрдирд╛ рд╣реАред

Source: https://habr.com/ru/post/In204638/


All Articles