06_image_analysis/
06_image_analysis.rs1use std::path::PathBuf;
2
3use visionkit::prelude::*;
4
5fn asset_path() -> PathBuf {
6 PathBuf::from(env!("CARGO_MANIFEST_DIR"))
7 .join("examples")
8 .join("assets")
9 .join("live_text.png")
10}
11
12fn main() -> Result<(), Box<dyn std::error::Error>> {
13 if !ImageAnalyzer::is_supported() {
14 println!("ImageAnalyzer is not supported on this Mac");
15 return Ok(());
16 }
17
18 let analyzer = ImageAnalyzer::new()?;
19 let analysis = analyzer.analyze_cg_image_at_path(
20 asset_path(),
21 ImageOrientation::Up,
22 &ImageAnalyzerConfiguration::new(
23 ImageAnalysisTypes::TEXT | ImageAnalysisTypes::MACHINE_READABLE_CODE,
24 ),
25 )?;
26
27 println!(
28 "has text results: {}",
29 analysis.has_results(ImageAnalysisTypes::TEXT)?
30 );
31 println!("transcript: {}", analysis.transcript()?);
32 Ok(())
33}