প্রকল্প সম্পর্কে

# JavaCV JavaCV জনপ্রিয় কম্পিউটার ভিশন এবং মাল্টিমিডিয়া লাইব্রেরি—OpenCV, FFmpeg, libdc1394, FlyCapture, Spinnaker, OpenKinect, librealsense, ARToolKitPlus, flandmark, Leptonica, এবং Tesseract—কে JavaCPP Presets এর মাধ্যমে জাভা এবং অ্যান্ড্রয়েড থেকে সুবিধাজনক করে তোলে। ## এটি কী করে - OpenCV এবং FFmpeg বাইন্ডিংয়ের মাধ্যমে ইমেজ এবং ভিডিও লোড ও প্রসেস করে - ওয়েবক্যাম, ক্যামেরা এবং ভিডিও ফাইল থেকে ফ্রেম ক্যাপচার করে - ভিডিও আউটপুট ফাইলে রেকর্ড করে - Haar cascades, কন্ট্যুর খোঁজা, জ্যামিতিক ট্রান্সফরমেশন এবং ক্যালিব্রেশন ইউটিলিটি দিয়ে ফেস ডিটেকশন প্রদান করে - `CanvasFrame` / `GLCanvasFrame` এর মাধ্যমে হার্ডওয়্যার-ত্বরান্বিত পূর্ণ-স্ক্রিন ইমেজ ডিসপ্লে - NIO বুফারের মাধ্যমে সমান্তরাল এক্সিকিউশন হেল্পার এবং সরাসরি নেটিভ মেমোরি অ্যাক্সেস ## মূল ক্লাস - `FrameGrabber` / `FrameRecorder` — ক্যাপচার এবং রেকর্ডিংয়ের জন্য অপেন্ডার্স ইন্টারফেস; কনক্রিট ইমপ্লিমেন্টেশনের মধ্যে রয়েছে `OpenCVFrameGrabber`, `FFmpegFrameGrabber`, `OpenCVFrameRecorder`, `FFmpegFrameRecorder` - `OpenCVFrameConverter` / `Java2DFrameConverter` — OpenCV `Mat`/`IplImage`, জাভা `BufferedImage`, অ্যান্ড্রয়েড `Bitmap`, এবং `Frame` এর মধ্যে কনভার্ট করে - `CascadeClassifier` — অবজেক্ট/ফেস ডিটেকশনের জন্য XML ফাইল থেকে লোড করা হয় - `CanvasFrame` / `GLCanvasFrame` — ঐচ্ছিক পূর্ণ-স্ক্রিন মোড সহ ডিসপ্লে উইন্ডো - `Parallel` — একাধিক কোরে টাস্ক সম্পাদন করে - `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-ত্বরান্বিত OpenCV বা GPL-লাইসেন্সযুক্ত FFmpeg বিল্ডের জন্য, যথাক্রমে `opencv-platform-gpu` বা `ffmpeg-platform-gpl` যোগ করুন। বিনারি Android, iOS, Linux, macOS, এবং Windows কভার করে। ## প্রয়োজনীয়তা - Java SE 8 অথবা নতুনতর - C++ কম্পাইলার (সোর্স থেকে বিল্ড করার জন্য) - ঐচ্ছিক: Android SDK API 24+, OpenCL এবং OpenGL সাপোর্টের জন্য JOCL/JOGL - 32-বিট এবং 64-বিট আর্টিফ্যাক্ট মিলিয়ে নিন; এগুলো মিশ্রণ করা যায় না ## নমুনা: ওয়েবক্যাম থেকে ফেস ডিটেকশন ```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("Face Detection"); Mat gray = new Mat(); 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 প্রয়োজন। JavaCPP, JavaCPP Presets, এবং JavaCV ডিরেক্টরিতে `mvn install` রান করুন। স্ন্যাপশট বিল্ড http://bytedeco.org/builds/ এও পাওয়া যায়। ## লিঙ্ক - রিপোজিটরি: https://github.com/bytedeco/javacv - মেলিং তালিকা: http://groups.google.com/group/javacv - আলোচনা: https://github.com/bytedeco/javacv/discussions