首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图片对比android

图片对比android
EN

Stack Overflow用户
提问于 2013-02-21 15:53:17
回答 3查看 4K关注 0票数 1

我开发了一个用于图像比较的应用程序。我在这里比较颜色。参考图表在数据库中。我的应用程序的工作原理就像..通过相机捕捉颜色。camera由camera API控制,而不是intent。并将捕获的图像与参考图进行比较。我的问题很轻。我正在拍摄白色背景的图像..但根据Light change的说法,输出的变化很大。我使用的是欧几里德距离。由于光线变化,我无法获得正确的输出。有没有人有什么建议:解决灯光问题??有没有对图像进行归一化的方法??我使用的是android 2.2

EN

回答 3

Stack Overflow用户

发布于 2013-02-21 18:21:33

也许你可以使用一些开源的图像处理库,它们为图像比较提供了方便的选项。

我建议你使用OpenCV,它有许多图像处理功能,你可以很容易地将它集成到安卓系统中。

OpenCV

也许这可以帮助你解决光线问题。

票数 0
EN

Stack Overflow用户

发布于 2013-06-19 19:42:47

如果你面对的是浅色背景,那么我建议使用两个图像的所有像素的ARBB值,你可以比较两个图像的ARGB值,我最近在我的一个项目中完成了这个任务。下面是其中的一小段代码。

  • 表示方法会给出图像的平均ARGB颜色。
  • 设置了两幅图像的平均值后,您只需简单地将其作为两个集合进行比较

int[] getAvgARGB(int[] imagePixels ){ int [] argbColection =新int4;int pixcel=0,Aavg=0,Ravg =0,Gavg=0,Bavg=0;int pixcelSize =0;for(int i=0;i> 24) & 0xFF;//隔离Alpha值...int R=(像素>> 16) & 0xFF;//隔离红色通道值...int G=(像素>> 8) & 0xFF;//隔离绿色通道值...int B= pixcel & 0xFF;//隔离蓝色通道值...Aavg += A;Ravg += R;Gavg += G;Bavg += B;} pixcelSize = imagePixels.length;argbColection =Aavg/像素大小;argbColection1 =Ravg/像素大小;argbColection2 =Gavg/像素大小;argbColection3 =Bavg/像素大小;return argbColection;}

票数 0
EN

Stack Overflow用户

发布于 2014-01-26 13:42:48

如果你想像这样检查色差:

http://en.wikipedia.org/wiki/Color_difference

您可以使用Catalano Framework

它可以在Java和Android上运行。

使用色差的示例:

代码语言:javascript
复制
float[] lab = ColorConverter.RGBtoLAB(100, 120, 150, ColorConverter.CIE2_D65);
float[] lab2 = ColorConverter.RGBtoLAB(50, 80, 140, ColorConverter.CIE2_D65);

double diff = ColorDifference.DeltaC(lab, lab2);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14997111

复制
相关文章

相似问题

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