如何识别这些图像中字母的颜色?

罗伯特·哈维

我正在使用本文来解决验证码。它的工作原理是使用AForge从图像中去除背景,然后将Tesseract OCR应用于生成的清洁图像。

问题是,它当前依赖于字母为黑色,并且由于每个验证码具有不同的文本颜色,因此我需要将颜色传递给图像清洁器,或者将字母的颜色更改为黑色。要执行上述任一操作,我需要知道字母的现有颜色是什么。

如何识别字母的颜色?

带有字母的图像

带有字母的图像

致命编码器

使用@Robert Harvey提供答案,我去开发了相同的代码,使用LockBitsunsafe方法来提高其速度。您必须在“允许不安全代码”标记上进行编译。请注意,从图像返回的像素顺序bgr为非rgb格式,并且我使用的格式锁定位图,Format24bppRgb以强制每种颜色使用3个字节。

public unsafe Color GetTextColour(Bitmap bitmap)
{
    BitmapData bitmapData = bitmap.LockBits(new Rectangle(0, 0, bitmap.Width, bitmap.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
    try
    {
        const int bytesPerPixel = 3;
        const int red = 2;
        const int green = 1;

        int halfHeight = bitmap.Height / 2;

        byte* row = (byte*)_bitmapData.Scan0 + (halfHeight * _bitmapData.Stride);

        Color startingColour = Color.FromArgb(row[red], row[green], row[0]);
        for (int wi = bytesPerPixel, wc = _bitmapData.Width * bytesPerPixel; wi < wc; wi += bytesPerPixel)
        {
            Color thisColour = Color.FromArgb(row[wi + red], row[wi + green], row[wi]);
            if (thisColour != startingColour)
            {
                return thisColour;
            }
        }

        return Color.Empty; //Or some other default value
    }
    finally
    {
        bitmap.UnlockBits(bitmapData);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

图像(数字/字母)识别

来自分类Dev

如何识别图像中的金色?

来自分类Dev

如何识别图像中的黑点

来自分类Dev

如何在 MessageDlg 中显示这些图像?

来自分类Dev

如何在嵌套字母中添加颜色

来自分类Dev

如何识别 CSS 中的导航栏颜色

来自分类Dev

如何识别pdf中的图像格式?

来自分类Dev

如何使用 ARToolKit 在 Unity 中识别图像

来自分类Dev

如何更改字母的颜色?

来自分类Dev

图像分割和图像识别-如何识别黑色背景图像中白色补丁的坐标?

来自分类Dev

如何使用图像处理识别Google Maps图像中的树木?

来自分类Dev

如何从图像中获取像素的颜色?

来自分类Dev

如何更改/交换图像中的颜色?

来自分类Dev

如何从图像画布中裁剪颜色部分?

来自分类Dev

如何使这些图像保留在“网格”中?

来自分类Dev

如何控制geom_text中字母的颜色?

来自分类Dev

识别图像中的形状

来自分类Dev

图像中的区域识别

来自分类Dev

如何使用python从图像中获取字母

来自分类Dev

如何在字典中识别匹配值并仅使用这些键创建新字符串?

来自分类Dev

由于“识别”不起作用,如何在这些表中添加自动增量 Id?

来自分类Dev

如何使用Matlab识别视频/图像中的多个范围?

来自分类Dev

如何改变图像的颜色?

来自分类Dev

如何在Navbar上更改这些颜色?

来自分类Dev

如何在Navbar上更改这些颜色?

来自分类Dev

如何在Navbar上更改这些颜色?

来自分类Dev

ARKit –具有相似图像但颜色不同的图像识别

来自分类Dev

我从两个图像中减去这些亮黄色/红色/粉红色是什么颜色?

来自分类Dev

识别PHP GD中的塞尔维亚字母

Related 相关文章

热门标签

归档