【发布时间】:2016-08-10 23:26:37
【问题描述】:
我正在开发一款 Android 应用,并且想定位手机摄像头拍摄的图像的边缘。我认为定位这些边缘的最佳选择是寻找两个像素之间的像素,这两个像素是两种重要的颜色。例如绿色阴影和黑色阴影。
我怎么会遇到这个像素?是否有一系列与各种颜色和色调相关的数字? IE。 100-200 是红色,200-300 是蓝色,等等?
【问题讨论】:
-
您首先需要知道图像的格式,即
JPG、PNG、BMP等(有很多不同的图像文件格式)。然后,您需要解压缩或解析该格式的二进制数据以检索工作像素数据。然后,您需要遍历该文件中的所有像素,以检查在其他两个像素之间的一个像素是否表现出显着颜色的变化(这将是您定义的某个阈值)。这不涉及不同的颜色格式,例如RGB、ARGB、RGBA、ICMY等。 -
我不熟悉Android相机或它的API,但可能会发现图像没有直接保存到文件中,而是可以从流中读取。在这种情况下,您可能不必解析图像文件,而是可以访问原始像素数据。
-
不确定我是否理解您真正想要实现的目标,但仅供参考:大多数边缘检测算法检查像素的邻域,而不仅仅是单个像素。 en.wikipedia.org/wiki/Edge_detection
标签: java android computer-vision