相关疑难解决方法(0)

python - 测量像素亮度

如何获取图像中特定像素的像素亮度?我正在寻找一个绝对比例来比较不同像素的亮度.谢谢

python image pixel brightness

15
推荐指数
1
解决办法
2万
查看次数

RGB到XYZ和LAB颜色转换

我在将颜色从RGB转换为LAB空间时遇到问题应该直接使用这里的公式,只是我得到了错误的值

  • RGB = 56,79,132

  • X = 8.592

  • Y = 8.099
  • Z = 22.940

和CIE-L*ab as

  • L*34.188
  • a*8.072
  • b*-32.478

这是我的代码; 但我看不出哪里出错了.这可能是因为像我之前的这个家伙一样的浮点数.谢谢.

// user colour
var Red   = 56;
var Green = 79;
var Blue  = 132;

// user colour converted to XYZ space
XYZ = RGBtoXYZ(Red,Green,Blue)
var colX = XYZ[0];
var colY = XYZ[1];
var colZ = XYZ[2];

// alert(XYZ)

LAB = XYZtoLAB(colX, colY, colZ)

alert(LAB)

function RGBtoXYZ(R, G, B)
{
    var_R = parseFloat( R / 255 …
Run Code Online (Sandbox Code Playgroud)

javascript rgb

13
推荐指数
2
解决办法
1万
查看次数

确定图像整体亮度

我需要在图像上叠加一些文字; 根据整体图像的亮度,此文本应更亮或更暗.如何计算图像的整体(感知)亮度?

找到了一些有趣的单像素: 确定RGB颜色亮度的公式

.net c# imaging

8
推荐指数
1
解决办法
3483
查看次数

如何检测Android中的黑暗照片

我有一个Android应用程序,用户用前置摄像头拍摄自己的照片,然后将照片上传到我的服务器.我注意到许多照片来到我的服务器太暗(有时几乎不可能看到用户脸上的清晰).

我想在应用程序端过滤掉这些照片并显示通知(例如"照片太暗.再拍一张照片")给用户.我怎样才能在Android中完成这样的任务?

编辑:

我已经找到了如何计算单个像素的亮度(感谢这个答案:https://stackoverflow.com/a/16313099/2999943):

private boolean isPixelColorBright(int color) {
    if (android.R.color.transparent == color)
        return true;

    boolean rtnValue = false;

    int[] rgb = {Color.red(color), Color.green(color), Color.blue(color)};

    int brightness = (int) Math.sqrt(rgb[0] * rgb[0] * .299 + rgb[1]
            * rgb[1] * .587 + rgb[2] * rgb[2] * .114);

    if (brightness >= 200) {    // light color
        rtnValue = true;
    }

    return rtnValue;
}
Run Code Online (Sandbox Code Playgroud)

但我仍然不清楚如何确定整个图像亮度"状态".有什么建议?

java android image image-processing android-studio

6
推荐指数
1
解决办法
2396
查看次数

如何确定亮度百分比?

根据http://www.workwithcolor.com/color-luminance-2233.htm,RED (#FF0000) 的亮度为 54%。浅粉色 (#FF8080) 的亮度为:89%。我们的设计师喜欢它,但它是如何确定的?在这里试试:http : //www.workwithcolor.com/hsl-color-schemer-01.htm

我尝试使用W3C 发布的相对亮度公式,虽然范围是 [0,1],但红色是0.21,白色是1.00

我在想,也许 workwithcolor 所做的是首先将颜色转换为灰度,然后读取灰度的亮度。我试过了,但它仍然没有给出相同的结果。

到目前为止我已经尝试过:http : //jsfiddle.net/HytZQ/

algorithm rgb colors formula luminance

5
推荐指数
1
解决办法
3645
查看次数

Windows 10如何检测是否应该使用黑色或白色标题?

使用Windows 10(10586)的最新稳定版本,Win32窗口标题的颜色会根据窗口镶边的颜色而变化.

例如,如果窗口颜色较暗,则标题使用白色.反之亦然.

所以,既然我想要那种行为,我必须得到窗口铬的颜色亮度.

通过使用此方法:

public static int GetBrightness(this Color c)
{
    return (int)Math.Sqrt(
    c.R * c.R * .241 +
    c.G * c.G * .691 +
    c.B * c.B * .068);
}
Run Code Online (Sandbox Code Playgroud)

而我正在使用其他方法:

public static float GetBrightness2(this Color color)
{
    float num = ((float)color.R) / 255f;
    float num2 = ((float)color.G) / 255f;
    float num3 = ((float)color.B) / 255f;
    float num4 = num;
    float num5 = num;
    if (num2 > num4)
        num4 = num2;
    if (num3 > …
Run Code Online (Sandbox Code Playgroud)

c# colors brightness windows-10

5
推荐指数
0
解决办法
111
查看次数

在 Windows C++ 中检测白色或黑色高对比度模式

MS App Assure 团队向我报告了一个问题,即我的应用程序的通知区域/系统托盘图标在白色高对比度主题(或接近白色,如 Windows 11 的“沙漠”主题)上几乎不可见。

我已经有一个在(正常、非高对比度)Windows 浅色主题打开时使用的深色图标,因此我也想在这些场景中使用它。

唯一的问题是,虽然我可以检测高对比度模式是否打开SystemParametersInfo,但我没有找到任何东西来检测它是白色还是黑色高对比度主题。我将如何继续检测到这一点?

我知道 MSIX 包支持为白色和黑色高对比度主题使用不同的图标,那么它们如何检测它呢?

c++ windows winapi accessibility system-tray

5
推荐指数
1
解决办法
494
查看次数

Python-计算图像的直方图

我正在自学计算机图像处理的基础知识,同时我也在自学Python。

给定x具有3个通道的尺寸为2048x1354 的图像,可以有效地计算像素强度的直方图。

import numpy as np, cv2 as cv

img = cv.imread("image.jpg")
bins = np.zeros(256, np.int32)

for i in range(0, img.shape[0]):
    for j in range(0, img.shape[1]):

        intensity = 0
        for k in range(0, len(img[i][j])):
            intensity += img[i][j][k]

        bins[intensity/3] += 1

print bins
Run Code Online (Sandbox Code Playgroud)

我的问题是这段代码运行缓慢,大约需要30秒。我如何才能加快速度并变得更Python化?

python opencv numpy histogram

4
推荐指数
2
解决办法
2万
查看次数

为什么4294967295 >> 24 == -1在Javascript中?

我正在使用以下方法计算Javascript中的亮度:

luminosity = (5036060 * backgroundColor.red + 9886846 * backgroundColor.green + 1920103 * backgroundColor.blue) >> 24;
Run Code Online (Sandbox Code Playgroud)

对于颜色为白色的情况,即所有3个RGB值都是255,我得到-1的结果.我明确地测试了并且在Javascript中值"4294967295 >> 24"是-1.

为什么?

javascript

4
推荐指数
1
解决办法
349
查看次数

Swift SceneKit照明和影响发射纹理

我正在开发一个关于太阳系的应用程序.我试图关闭发射纹理,光线照射到行星表面.但问题是,默认情况下,发射纹理总是显示发射点,无论光线是否存在.

我的要求简而言之:(我想隐藏发光点,在光线照射到表面的地方) 在此输入图像描述

override func viewDidLoad() {
    super.viewDidLoad()

    let scene = SCNScene()

    let earth = SCNSphere(radius: 1)
    let earthNode = SCNNode()
    let earthMaterial = SCNMaterial()
    earthMaterial.diffuse.contents = UIImage(named: "earth.jpg")
    earthMaterial.emission.contents = UIImage(named: "earthEmission.jpg")
    earth.materials = [earthMaterial]
    earthNode.geometry = earth
    scene.rootNode.addChildNode(earthNode)

    let lightNode = SCNNode()
    lightNode.light = SCNLight()
    lightNode.light?.type = .omni
    lightNode.position = SCNVector3(x: 0, y: 10, z: 5)
    scene.rootNode.addChildNode(lightNode)

    sceneView.scene = scene


}
Run Code Online (Sandbox Code Playgroud)

ios scenekit swift

4
推荐指数
1
解决办法
1118
查看次数