我正在寻找一种在我的Android应用程序中使用的简单图像锐化算法。我有一个从视频捕获的灰度图像(主要用于文本),我想锐化它,因为我的手机没有自动对焦,近距离物体模糊文本。我没有图像处理的任何背景。但作为用户,我熟悉Gimp,Photoshop等中可用的非锐化掩模和其他锐化工具。我没有看到Android API中的图像处理支持,因此我正在寻找一种方法来实现自己。谢谢。
答案 0 :(得分:1)
这是一种简单的图像锐化算法。
您应该将灰度图像的宽度,高度和字节[]数组传递给此函数,它将锐化此byte []数组中的图像。
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 :(得分:0)
答案 2 :(得分:-1)
ImageJ在Java中有许多算法,可以免费使用。