منصوبے کے بارے میں

# جاوا سی وی جاوا سی وی مقبول کمپیوٹر ویژن اور ملٹی میڈیا لائبریریوں — او ای پی او سی، ایم ایف ایم بیگ، libdc1394، FlyCapture، Spinnaker، OpenKinect، librealsense، ARToolKitPlus، flandmark، Leptonica، اور Tesseract — کو جاوا CPP Presets کے ذریعے جاوا اور اینڈرائیڈ تک پہنچاتا ہے۔ ## یہ کیا کرتا ہے - او ای پی او سی اور ایم ایف ایم بیگ بانڈنگز کے ذریعے تصاویر اور ویڈیو لوڈ اور پروسیس کرتا ہے - ویب کیمروں، کیمرے اور ویڈیو فائلوں سے فریم کاپچ کرتا ہے - ویڈیو آؤٹ پٹ کو فائلوں میں ریکارڈ کرتا ہے - Haar cascades، contorno تلاش، جیومیٹرک ٹرانسفارمیشن، اور کیلیبریشن یوٹیلیٹیز کے ساتھ چہرے کی شناخت فراہم کرتا ہے - `CanvasFrame` / `GLCanvasFrame` کے ذریعے ہارڈویئر ایکسلریٹڈ فل اسکرین امیج ڈسپلے - NIO buffers کے ذریعے متوازی ایشہکاری اور براہ راست نیٹو میموری ایکسس ## اہم کلاسز - `FrameGrabber` / `FrameRecorder` — کاپچ اور ریکارڈنگ کے لیے انتہائی انٹرفیس؛ درستہ عملائیہ میں `OpenCVFrameGrabber`، `FFmpegFrameGrabber`، `OpenCVFrameRecorder`، `FFmpegFrameRecorder` شامل ہیں - `OpenCVFrameConverter` / `Java2DFrameConverter` — او ای پی او سی `Mat`/`IplImage`، جاوا `BufferedImage`، اینڈرائیڈ `Bitmap`، اور `Frame` کے درمیان تبدیلی - `CascadeClassifier` — آبجیکٹ/چہرے کی شناخت کے لیے XML فائلوں سے لوڈ ہوتا ہے - `CanvasFrame` / `GLCanvasFrame` — اختیاری فل اسکرین موڈ کے ساتھ ڈسپلے ونڈوز - `Parallel` — کئی کورز پر.Tasks چلائیں - `GeometricCalibrator` / `ProCamGeometricCalibrator` — کیمرہ اور پروجیکٹر کیلیبریشن ## تنصیب اپنے بلڈ میں پلیٹ فارم BOM شامل کریں۔ Maven: ```xml <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.5.14</version> </dependency> ``` Gradle: ```groovy implementation 'org.bytedeco:javacv-platform:1.5.14' ``` GPU ایکسلریٹڈ او ای پی او سی یا GPL لائسنس شدہ ایم ایف ایم بیگ بلڈز کے لیے، بالترتیب `opencv-platform-gpu` یا `ffmpeg-platform-gpl` شامل کریں۔ binarys میں اینڈرائیڈ، iOS، Linux، macOS، اور Windows شامل ہیں۔ ## ضروریات - Java SE 8 یا نئےتر - C++ کمپائیلر (ماخذ سے بنانے کے لیے) - اختیاری: Android SDK API 24+، OpenCL اور OpenGL سپورٹ کے لیے JOCL/JOGL - 32-bit اور 64-bit artifacts کو ملایا نہیں جا سکتا؛ انہیں ملانا ہوگا ## نمونہ: ویب کیم سے چہرے کی شناخت ```java import org.bytedeco.javacv.*; import org.bytedeco.opencv.opencv_core.*; import org.bytedeco.opencv.opencv_objdetect.*; import static org.bytedeco.opencv.global.opencv_core.*; import static org.bytedeco.opencv.global.opencv_imgproc.*; import static org.bytedeco.opencv.global.opencv_objdetect.*; public class FaceDetect { public static void main(String[] args) throws Exception { FrameGrabber grabber = FrameGrabber.createDefault(0); grabber.start(); CascadeClassifier classifier = new CascadeClassifier( "haarcascade_frontalface_alt.xml"); OpenCVFrameConverter.ToMat converter = new OpenCVFrameConverter.ToMat(); CanvasFrame frame = new CanvasFrame("چہرے کی شناخت"); Mat gray = new Mat(); Frame grabbed; while (frame.isVisible() && (grabbed = converter.convert(grabber.grab())) != null) { cvtColor(grabbed, gray, COLOR_BGR2GRAY); RectVector faces = new RectVector(); classifier.detectMultiScale(gray, faces); for (int i = 0; i < faces.size(); i++) { Rect r = faces.get(i); rectangle(grabbed, new Point(r.x(), r.y()), new Point(r.x() + r.width(), r.y() + r.height()), new Scalar(0, 255, 0)); } frame.showImage(grabbed); } frame.dispose(); grabber.stop(); } } ``` ## ماخذ سے بنائیں Maven 3.x اور JavaCPP 1.5.14 درکار ہیں۔ جاوا CPP، جاوا CPP Presets، اور جاوا CV ڈائریکٹریز میں `mvn install` چلائیں۔ Snapshot builds بھی http://bytedeco.org/builds/ پر دستیاب ہیں۔ ## لنکس - Repository: https://github.com/bytedeco/javacv - Mailing list: http://groups.google.com/group/javacv - Discussion: https://github.com/bytedeco/javacv/discussions