منصوبے کے بارے میں
# جاوا سی وی
جاوا سی وی مقبول کمپیوٹر ویژن اور ملٹی میڈیا لائبریریوں — او ای پی او سی، ایم ایف ایم بیگ، 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
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.