「CameraXでオートフォーカス」の版間の差分
Administrator (トーク | 投稿記録) (ページの作成:「.NET6 Android(旧:Xamarin.Android)での話。 FocusMeteringActionに計測位置だけを指定すると以下の三点セットとなっている。 * オート…」) |
Administrator (トーク | 投稿記録) |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
− | .NET6 Android(旧:Xamarin. | + | .NET6 Android(旧:Xamarin.Android)で[[CameraX]]の話。 |
FocusMeteringActionに計測位置だけを指定すると以下の三点セットとなっている。 | FocusMeteringActionに計測位置だけを指定すると以下の三点セットとなっている。 | ||
21行目: | 21行目: | ||
</source> | </source> | ||
− | + | ホワイトバランスが毎回調整されるのはなかなか意味がわからない。 | |
+ | |||
+ | 白紙などを映しながらホワイトバランスだけを自動調整するにはAFとAEを切る。 | ||
+ | 専用のホワイトバランス調整モードを搭載しとけ。 | ||
<source lang="csharp"> | <source lang="csharp"> | ||
var focusAction = new FocusMeteringAction.Builder( | var focusAction = new FocusMeteringAction.Builder( |
2023年11月9日 (木) 01:43時点における最新版
.NET6 Android(旧:Xamarin.Android)でCameraXの話。
FocusMeteringActionに計測位置だけを指定すると以下の三点セットとなっている。
- オートフォーカス(Auto Focus、AF)
- オート露出(Auto Exposure、AE)
- オートホワイトバランス(Auto White Balance、AWB)
// AndroidX.Camera.Core.ICamera camera
if (camera.CameraInfo.IsFocusMeteringSupported(focusAction) == false)
return;
var focusPoint = meteringPointFactory.CreatePoint(x, y);
var focusAction = new FocusMeteringAction.Builder(focusPoint)
.SetAutoCancelDuration(3, TimeUnit.Seconds)
.Build();
camera.CameraControl.StartFocusAndMetering(focusAction);
ホワイトバランスが毎回調整されるのはなかなか意味がわからない。
白紙などを映しながらホワイトバランスだけを自動調整するにはAFとAEを切る。 専用のホワイトバランス調整モードを搭載しとけ。
var focusAction = new FocusMeteringAction.Builder(
focusPoint,
FocusMeteringAction.FlagAwb);
ホワイトバランスを変えずにAEとAFだけにしたいは以下のようにする。
var focusAction = new FocusMeteringAction.Builder(
focusPoint,
FocusMeteringAction.FlagAe | FocusMeteringAction.FlagAf);