-
-
Save rajeshpachaikani/3de2c3b4aba65e63d30dd4199ad71277 to your computer and use it in GitHub Desktop.
use opencv::{ | |
Result, | |
prelude::*, | |
objdetect, | |
highgui, | |
imgproc, | |
core, | |
types, | |
videoio, | |
}; | |
fn main()->Result<()>{ | |
let mut camera = videoio::VideoCapture::new(0, videoio::CAP_ANY)?; | |
// Use the following command to find the actual location of your xml files | |
//sudo find / -name haarcascade_frontalface_default.xml | |
//Haarcascade for eye detection | |
//let xml = "/usr/local/share/opencv4/haarcascades/haarcascade_eye.xml"; | |
//Haarcascade for face detection | |
let xml = "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_default.xml"; | |
let mut face_detector = objdetect::CascadeClassifier::new(xml)?; | |
let mut img = Mat::default(); | |
loop{ | |
camera.read(&mut img)?; | |
let mut gray = Mat::default(); | |
imgproc::cvt_color(&img, &mut gray, imgproc::COLOR_BGR2GRAY, 0)?; | |
let mut faces = types::VectorOfRect::new(); | |
face_detector.detect_multi_scale( | |
&gray, | |
&mut faces, | |
1.1, | |
10, | |
objdetect::CASCADE_SCALE_IMAGE, | |
core::Size::new(10, 10), | |
core::Size::new(0, 0) | |
)?; | |
println!("{:?}", faces); | |
if faces.len() > 0{ | |
for face in faces.iter(){ | |
imgproc::rectangle( | |
&mut img, | |
face, | |
core::Scalar::new(0f64, 255f64, 0f64, 0f64), | |
2, | |
imgproc::LINE_8, | |
0 | |
)?; | |
} | |
} | |
highgui::imshow("gray", &img)?; | |
highgui::wait_key(1)?; | |
} | |
Ok(()) | |
} |
If anyone is facing the same issue but on a windows 10 or 11, follow this solution.
@rajeshpachaikani I'm working on building a Tauri + Next.js desktop application that uses OpenCV for face detection. My goal is to integrate OpenCV into the app for real-time facial recognition features.
However, one challenge I'm facing is dependency management. Since OpenCV is an external native library, if a user does not have it properly installed on their system, the application will fail to open or function correctly.
Ideally, I want to either:
Bundle OpenCV with the app during the Tauri build process, or
Check at runtime if OpenCV is available, and show an error or guide the user through the installation if it's not.
Let me know if you have any suggestions on handling this dependency more gracefully or if there's a way to make the app fallback safely without OpenCV.
https://docs.rs/opencv/latest/opencv/imgproc/fn.put_text.html
https://docs.rs/opencv/latest/opencv/core/struct.Point_.html#structfield.x
Brother I am trying to use put_text on in my program unable to figure out how to use Point in the put_text function.
here is the snippet of code I am using in my function, it will be kind of you if you help me in this function ?