- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
自<强>this 没有明确的答案,stackoverflow 没有关于 Camera 2 API Gamma 的问题/答案,我要求使用 Android Camera 2 API 修改亮度、对比度和 Gamma 的解决方案.
我的代码得到 range 和 step :
Rational controlAECompensationStep = characteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP);
if (controlAECompensationStep != null) {
compensationStep = controlAECompensationStep.doubleValue();
}
Range<Integer> controlAECompensationRange = characteristics.get(CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE);
if (controlAECompensationRange != null) {
minCompensationRange = controlAECompensationRange.getLower();
maxCompensationRange = controlAECompensationRange.getUpper();
}
我设置百分比亮度的方法:
public void setBrightness(int value) {
int brightness = (int) (minCompensationRange + (maxCompensationRange - minCompensationRange) * (value / 100f));
previewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, brightness);
applySettings();
}
private void applySettings() {
try {
captureSession.setRepeatingRequest(previewRequestBuilder.build(), null, null);
} catch (Exception e) {
e.printStackTrace();
}
}
但是这种方法不能正常工作。图像变为green , 比如 here .
我描述了我在 documentation 中找到的所有内容.
最佳答案
我的错误在于更改 Auto White Balance Mode(AWB)至 CONTROL_AWB_MODE_OFF在修改亮度 (B)、 Gamma (G) 或对比度 (C) 之前。
不要为AWB
设置OFF
模式,使用AUTO
或其他可能的模式。
以百分比形式获取当前 B
public int getBrightnessValue() {
int absBRange = maxCompensationRange - minCompensationRange;
int value = getValue(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION);
return 100 * (value - minCompensationRange) / absBRange;
}
以百分比设置 B
public void setBrightness(int value) {
int brightness = (int) (minCompensationRange + (maxCompensationRange - minCompensationRange) * (value / 100f));
previewRequestBuilder.set(CaptureRequest.CONTROL_AE_EXPOSURE_COMPENSATION, brightness);
applySettings();
}
以百分比设置 C
//set def channels (used for contrast)
TonemapCurve tc = previewRequestBuilder.get(CaptureRequest.TONEMAP_CURVE);
if (tc != null) {
channels = new float[3][];
for (int chanel = TonemapCurve.CHANNEL_RED; chanel <= TonemapCurve.CHANNEL_BLUE; chanel++) {
float[] array = new float[tc.getPointCount(chanel) * 2];
tc.copyColorCurve(chanel, array, 0);
channels[chanel] = array;
}
}
public void setContrast(int value) {
final int minContrast = 0;
final int maxContrast = 1;
if (channels == null || value > 100 || value < 0) {
return;
}
float contrast = minContrast + (maxContrast - minContrast) * (value / 100f);
float[][] newValues = new float[3][];
for (int chanel = TonemapCurve.CHANNEL_RED; chanel <= TonemapCurve.CHANNEL_BLUE; chanel++) {
float[] array = new float [channels[chanel].length];
System.arraycopy(channels[chanel], 0, array, 0, array.length);
for (int i = 0; i < array.length; i++) {
array[i] *= contrast;
}
newValues[chanel] = array;
}
TonemapCurve tc = new TonemapCurve(newValues[TonemapCurve.CHANNEL_RED], newValues[TonemapCurve.CHANNEL_GREEN], newValues[TonemapCurve.CHANNEL_BLUE]);
previewRequestBuilder.set(CaptureRequest.TONEMAP_MODE, CaptureRequest.TONEMAP_MODE_CONTRAST_CURVE);
previewRequestBuilder.set(CaptureRequest.TONEMAP_CURVE, tc);
applySettings();
}
private void applySettings() {
captureSession.setRepeatingRequest(previewRequestBuilder.build(), null, null);
}
G 仍在进行中。
上面的代码示例可能不是 100% 正确,如果您有更好的解决方案或发现错误,请告诉我 ;)
关于Android Camera2 API 设置自定义亮度、对比度、 Gamma ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42806855/
这是将 MVC 4 与 Visual Studio 2013 结合使用: 我想知道如何通过单击按钮来动态更改我网站的文本。这对于对比也是一样的。我想知道是否有任何插件或方法可以用来执行此操作? 这是正
我正在使用 contrast为 lm 构建对比的包在 R .使用以下代码,我在 Trt1 和 Trt3 之间进行对比。 Y |t|) 1 6.5 1.224745 2.602315 10.3
我有两个图像:一个带有彩色文本和透明背景,另一个带有随机背景(可以是任何颜色...纯色,照片,绘画等)。基本上,我想知道在粘贴到图像背景上时多少(大约)文本是可见/可读的,并在需要时采取措施增加图像之
我们如何使用java编程计算图像中的亮度、对比度、色调和饱和度。任何公式,代码片段表示赞赏。 最佳答案 您可以使用HSV模型来计算这些值,其中H是色调,S是饱和度,V是值(或亮度) 这里 RGB 是像
我正在开发一款编辑视频的应用。录制视频时没有问题,因为最初我会设置所有设置,如饱和度、亮度、对比度等。 但问题在于录制的视频。我无法更改已录制视频的所有上述属性。 任何人请告诉我他的问题的解决方案。
1 屏幕后处理流程 调整屏幕亮度、饱和度、对比度,需要使用到屏幕后处理技术。因此,本文将先介绍屏幕后处理流程,再介绍调整屏幕亮度、饱和度、对比度的实现。 本文完整资源见→ Un
我有一个程序可以从硬盘加载图像。程序使用emgu cv编写,图像为Bgr图像。我想允许用户增加/减少图像的亮度/对比度。我怎样才能做到这一点?一些示例代码将不胜感激(因为我仍然是新手)。谢谢。 最佳答
Xamarin 提供了一些示例代码,用于在 iOS 中对图像进行简单调整: https://github.com/xamarin/recipes/blob/master/ios/media/corei
寻找答案 2 周。我有一个工具可以直接在网络浏览器中调整图像的对比度和亮度,并使用 CSS3 属性来显示结果。但我还应该将这些修改应用于服务器端的原始 JPG,并将其输出回用户。 我该怎么做?我正在使
我有一个 JComboBox 需要在某些时候被禁用,但我觉得 disabled 状态使得它很难阅读,因为它的对比度很低。 如果只有下拉箭头按钮显示为禁用状态,同时保持框渲染器保持启用状态,那就太好了。
在不使用任何其他第 3 方库或依赖项的情况下使用 C++ 调整图像亮度/对比度 最佳答案 图像亮度为 here - 使用 RGB 值的平均值并移动它们。 对比度为 here也提供其他语言解决方案。 编
我正在努力弄清楚如何更改 MATLAB 中极坐标图中的网格线颜色。我尝试手动更改一些可能做到这一点的轴属性,但无法观察到任何变化。需要明确的是:这与轴本身无关,而是为方向绘制的网格线(内圆)应该是黑色
我正在努力弄清楚如何更改 MATLAB 中极坐标图中的网格线颜色。我尝试手动更改一些可能做到这一点的轴属性,但无法观察到任何变化。需要明确的是:这与轴本身无关,而是为方向绘制的网格线(内圆)应该是黑色
我的 iOS 应用程序 (objective-C) 处理照片。我希望它能够为用户提供一种自动“调整”图像的方法,就像 iOS 本身在照片应用程序(小魔杖图标)中的做法,或者 facebook 的做法一
我如何上下应用亮度而不是灰色?我一直在努力,但我只能把它变成灰色。 我的目标是调高和调低它的亮度。 当前代码: HTML Effects Brightness BEFOR
我正在尝试使用 Python 中的 GUI(最有可能使用 Kivy)制作一个程序来匹配两张图像的曝光。我想并排显示两个图像(RGB 或灰度)及其相应的直方图,并有一个 slider 能够控制所选图像的
自this 没有明确的答案,stackoverflow 没有关于 Camera 2 API Gamma 的问题/答案,我要求使用 Android Camera 2 API 修改亮度、对比度和 Gamm
我按照 this 使用 Camera2 API 制作了一个视频捕捉应用程序指导, 是否有以编程方式更改视频的亮度/对比度/曝光设置的规定?我正在尝试拍摄一些光线较暗的视频 fragment ,我希望增
有没有人知道一个好的库(免费或不免费)可以做相当于 Photoshop 的自动对比度/级别或 Picasa 的感觉幸运吗? 我正在尝试批量自动更正图片。 我尝试了 AForge.net,它很酷,但结果
我正在使用 OpenCV 构建一个应用程序,该应用程序使用网络摄像头并运行一些视觉算法。我想在完成后将此应用程序发布到互联网上,但我担心每台计算机上的相机设置差异很大,我担心如果设置与我的设置差异太大
我是一名优秀的程序员,十分优秀!