首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >适用于Android应用的简单图像锐化算法

适用于Android应用的简单图像锐化算法
EN

Stack Overflow用户
提问于 2010-02-01 19:31:44
回答 3查看 4.1K关注 0票数 1

我正在寻找一个简单的图像锐化算法在我的Android应用程序中使用。我有一张从视频中捕获的灰度图像(主要用于文本),我想对其进行锐化,因为我的手机没有自动对焦功能,而且近距离的物体距离会模糊文本。我没有任何图像处理的背景。但作为一名用户,我熟悉Gimp、Photoshop等提供的unsharp蒙版和其他锐化工具。我在Android API中没有看到任何对图像处理的支持,因此我正在寻找一种方法来实现我自己。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-01 19:54:34

如果你可以访问像素信息,你最基本的选择将是一个锐化的卷积内核。看看下面的站点,你可以了解更多关于锐化内核以及如何在那里应用内核的知识。

link1

link2

票数 -1
EN

Stack Overflow用户

发布于 2014-07-18 17:25:15

这是一个简单的图像锐化算法。

您应该将灰度图像的宽度、高度和byte[]数组传递给此函数,它将锐化此byte[]数组中的图像。

代码语言:javascript
运行
复制
void sharpen(int width, int height, byte* yuv) {

    char *mas;
    mas = (char *) malloc(width * height);
    memcpy(mas, yuv, width * height);

    signed int res;

    int ywidth;

    for (int y = 1; y < height - 1; y++) {
        ywidth = y * width;
        for (int x = 1; x < width - 1; x++) {
            res = (
                      mas[x + ywidth] * 5
                    - mas[x - 1 + ywidth]
                    - mas[x + 1 + ywidth]
                    - mas[x + (ywidth + width)]
                    - mas[x + (ywidth - width)]

                    );
            if (res > 255) {
                res = 255;
            };
            if (res < 0) {
                res = 0;
            };

            yuv[x + ywidth] = res;

        }
    }
    free(mas);
}
票数 1
EN

Stack Overflow用户

发布于 2010-02-01 19:52:38

ImageJ在Java语言中有许多算法,并且可以免费获得。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2176315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档