Sto lavorando con il campione di Windows universale per OCR trova qui:Come si mette a fuoco una videocamera in Windows Universal Apps?
https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/OCR/cs
In particolare i OcrCapturedImage.xaml.cs
Sembra che la fotocamera diventa spesso sfocata, confusa, e in nessun posto vicino buona qualità come l'app fotocamera nativa. Come posso impostare la messa a fuoco automatica e/o toccare per correggere l'esposizione?
Quello che ho provato finora è guardare gli altri campioni di fotocamere che aiutano a impostare la risoluzione, ma non riesco a trovare nulla su messa a fuoco/esposizione.
Aggiornamento:
Penso
await mediaCapture.VideoDeviceController.FocusControl.FocusAsync();
e
await mediaCapture.VideoDeviceController.ExposureControl.SetAutoAsync(true);
Ma questo non funziona (non fa nulla-ancora ecc sfocata) e potrebbe essere costruito su se qualcuno sa come toccare una determinata area e applicare di conseguenza la messa a fuoco/l'esposizione.
fotocamera nativa:
App Fotocamera:
Aggiornamento in base alla risposta:
Devo essere stato mettere i miei metodi di messa a fuoco nel posto sbagliato perché il mio codice di aggiornamento originale funziona. Anche Sergi funziona. Voglio utilizzare l'evento TAPpato in combinazione con esso, qualcosa di simile:
Point tapped=e.GetPosition(null); //Where e is TappedRoutedEventArgs from a tapped event method on my preview screen
await mediaCapture.VideoDeviceController.RegionsOfInterestControl.ClearRegionsAsync();
await mediaCapture.VideoDeviceController.RegionsOfInterestControl.SetRegionsAsync(new[] { new RegionOfInterest() { Bounds = new Rect(tapped.X, tapped.Y, 0.02, 0.02) } }); //Throws Parameter Incorrect
Ma esso genera parametri errati. Inoltre, come dovrei mostrare l'overlay di un rettangolo sulla schermata di anteprima, in modo che l'utente sappia quanto è grande la regione di interesse?
Questo è un grande legame https://github.com/Microsoft/Windows-universal-samples/blob/master/Samples/CameraManualControls/cs/MainPage.Focus.xaml.cs
Non vedo 'CapturedImage.cs' nella pagina che si sta collegando. – Jeremy
@Nick Il mio cattivo OcrCapturedImage.xaml.cs. Ho aggiornato –
Potresti verificare se la messa a fuoco è disponibile utilizzando queste due proprietà 'mediaCapture.VideoDeviceController.FocusControl.Supported' e' mediaCapture.VideoDeviceController.Focus.Capabilities.Supported'? –