Tag: 距离

onPictureTaken()出错,问题是无法将RGB转换为GRAY,程序停止从cvtcolor()函数运行。

嘿家伙我这个function遇到麻烦,这个function在拍照后调用,现在我想使用图像数据进行距离变换。 并计算我知道哪里有问题的对象的确切数量,但我无法解决它,我认为问题是在Imgproc.cvtColor(m,mGray,Imgproc.COLOR_BGRA2GRAY)当我调试程序停止运行此时所以请回答我,如果你找到了什么; 先感谢您 @Override public void onPictureTaken(byte[] data, Camera camera) { Log.i(TAG, “Divyesh Saving a bitmap to file”); // The camera preview was automatically stopped. Start it again. mCamera.startPreview(); Log.i(TAG, “Divyesh Start preview”); mCamera.setPreviewCallback(this); Log.i(TAG, “Divyesh Start preview callback”); // Write the image in a file (in jpeg format) try { FileOutputStream fos = new […]

计算2点之间的网格距离

我需要计算2点之间的网格距离。 允许的运动是水平和垂直的,以及与下一个邻居的对角线(所以45度旋转)。 所以曼哈顿距离不是一个选择。 欧几里德距离也不是一个选项,因为它不会沿着网格正确移动,这可能导致一个低值(如红线所示)。 我正在寻找距离在绿色线条中从一个细胞移动到另一个细胞的距离。 公式最好是快速的。

用于文件比较的Java编程方法

将两个hex文件签名相互比较以获得相似性的最佳方法是什么。 更具体地说,我想要做的是采用.exe文件的hex表示forms,并将其与一系列病毒签名进行比较。 对于这种方法,我计划将文件(exe)hex表示分成N个字符的单个组(即10个hex字符),并对病毒签名执行相同操作。 我的目标是执行某种启发式方法,因此统计检查此exe文件是否与已知病毒签名具有X%的相似性。 我想到这样做的最简单和可能非常错误的方法是,将exe [n,n-1]与病毒[n,n-1]进行比较,其中数组中的每个元素都是一个子数组,因此exe1 [0, 9]针对病毒1 [0,9]。 每个子集将进行统计分级。 你可以意识到会有大量的比较,因此非常慢。 所以我想问一下你们是否可以考虑采用更好的方法进行这种比较,例如一起实现不同的数据结构。 这是我正在为我的BSc做的一个项目,我正在尝试开发一种算法来检测多态恶意软件,这只是整个系统的一部分,另一个是基于遗传算法来演化静态病毒签名。 任何建议,意见或资源等一般信息都是非常受欢迎的。 定义 :多态恶意软件(病毒,蠕虫,……)与“原始”版本保持相同的function和有效负载,同时具有明显不同的结构(变体)。 他们通过代码混淆实现了这一点,从而改变了他们的hex签名。 用于多态的一些技术是; 格式更改(插入删除空格),变量重命名,语句重新排列,垃圾代码添加,语句替换(x = 1更改为x = y / 5,其中y = 5),交换控制语句。 非常像流感病毒变异,因此疫苗接种无效,多态恶意软件会发生变异以避免检测。 更新:建议之后,你们给了我关于阅读的内容; 我做到了,但它让我更加困惑。 我找到了几种可以应用于我的问题的距离算法,例如; 最常见的子序列 Levenshtein算法 Needleman-Wunsch算法 Smith-Waterman算法 Boyer Moore算法 Aho Corasick算法 但现在我不知道使用哪个,他们似乎都以不同的方式做同样的事情。 我将继续做研究,以便我能更好地理解每一个; 但同时你可以给我你的意见, which might be more suitable以便我可以在研究期间优先考虑并深入研究。 更新2:我最终使用了LCSubsequence,LCSubstring和Levenshtein Distance的合并。 谢谢大家的建议。 在GitHub上有一份完成的纸张

如何检测重叠圆圈并相应填充颜色?

我使用3个数组(x,y和半径大小)创建了5个带有随机x和y坐标和半径的圆。 但是,我需要圆圈根据它们是否与另一个圆重叠来动态改变颜色。 因此,如果5个圆圈中的一个根本不重叠,则应将其涂成黑色。 重叠的圆圈应为青色。 如果它们的中心点之间的距离小于它们的半径之和,则认为两个圆重叠。 这是我到目前为止为圆圈类写的。 以下代码将在applet窗口中成功绘制5个圆,并成功计算距离,但问题在于着色。 颜色填充中似乎存在逻辑错误,我在这里看不到问题。 有什么建议? 非常感谢。 public class Circles extends Applet { public void paint(Graphics page) { Random locator = new Random(); int [] xpt = new int [5]; int [] ypt = new int [5]; int [] rad = new int [5]; setPreferredSize (new Dimension(300, 300)); for (int i = […]

使用Java以千米为单位的纬度经度坐标计算距离

我有以下方法计算距离并以英里为单位返回它: public static int calcDistance(float latA, float longA, float latB, float longB) { double theDistance = (Math.sin(Math.toRadians(latA)) * Math.sin(Math.toRadians(latB)) + Math.cos(Math.toRadians(latA)) * Math.cos(Math.toRadians(latB)) * Math.cos(Math.toRadians(longA – longB))); return new Double((Math.toDegrees(Math.acos(theDistance))) * 69.09).intValue(); } 为了使这种方法返回公里,需要改变什么? 还有什么其他方法来计算A和B之间的距离? (最好是在java代码中)

两个地方之间的物理距离

我需要测量名称以字符串forms提供的两个地方之间的物理距离。 由于有时名称的写法略有不同,我正在寻找一个可以帮助我衡量差异的库,然后将其与纬度和经度的度量相结合,以选择正确的匹配。 首选语言:Java或PHP。 有什么建议么?

如何计算Java中两个gps点之间的距离?

我使用了这段代码,但它不起作用: 需要两个gps坐标之间的距离,如41.1212,11.2323(公里)(Java) double d2r = (180 / Math.PI); double distance = 0; try{ double dlong = (endpoint.getLon() – startpoint.getLon()) * d2r; double dlat = (endpoint.getLat() – startpoint.getLat()) * d2r; double a = Math.pow(Math.sin(dlat / 2.0), 2) + Math.cos(startpoint.getLat() * d2r) * Math.cos(endpoint.getLat() * d2r) * Math.pow(Math.sin(dlong / 2.0), 2); double c = 2 * Math.atan2(Math.sqrt(a), […]