小编Luk*_*ane的帖子

如何测量两幅图像之间的相似度?

我想比较一个应用程序(可能是一个网页)的屏幕截图与之前拍摄的屏幕截图,以确定应用程序是否正确显示自己.我不想进行完全匹配比较,因为方面可能略有不同(在Web应用程序的情况下,取决于浏览器,某些元素可能位于稍微不同的位置).它应该衡量屏幕截图的相似程度.

是否有图书馆/工具已经做到了?你会如何实现它?

language-agnostic algorithm image image-processing

89
推荐指数
8
解决办法
9万
查看次数

是否可以从Mono的命令行构建MSBuild文件(visual studio sln)?

是否可以构建Visual Studio解决方案而无需启动MonoDevelop?

msbuild mono

64
推荐指数
3
解决办法
4万
查看次数

在foreach中运行程序

我试图让这个简单的Powershell脚本工作,但我觉得有些根本错误;-)

ls | foreach { "C:\Working\tools\custom-tool.exe" $_ }
Run Code Online (Sandbox Code Playgroud)

我基本上想要在目录中获取文件并将它们作为参数逐个传递给自定义工具.

powershell

27
推荐指数
3
解决办法
3万
查看次数

执行双值相等比较时,epsilon值应该是多少

这是以下程序的输出.

value is : 2.7755575615628914E-17
Double.compare with zero : 1
isEqual with zero : true
Run Code Online (Sandbox Code Playgroud)

我的问题是,什么应该是epsilon值?是否有任何有力的方法来获得价值,而不是从天空中挑选一个数字.


package sandbox;

/**
 *
 * @author yccheok
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        double zero = 1.0/5.0 + 1.0/5.0 - 1.0/10.0 - 1.0/10.0 - 1.0/10.0 - 1.0/10.0;
        System.out.println("value is : " + zero);
        System.out.println("Double.compare with zero : " + Double.compare(zero, 0.0));
        System.out.println("isEqual with zero : " + isEqual(zero, 0.0));
    } …
Run Code Online (Sandbox Code Playgroud)

java

21
推荐指数
4
解决办法
2万
查看次数

如何检测图像是照片,剪贴画还是线条图?

识别图像类型的最佳方法是什么?rwong这个问题回答表明Google将图像分为以下几组:

  • 照片 - 连续色调
  • 剪贴画 - 光滑的阴影
  • 画线 - 双色调

将图像分类为其中一组的最佳策略是什么?我目前正在使用Java,但欢迎任何一般方法.

谢谢!


更新:

我尝试了tyjkenn在评论中提到的独特颜色计数方法,它似乎适用于我尝试过的大约90%的案例.特别是使用独特的颜色计数难以正确地检测黑白照片.

获取图像直方图并单独计算窥视图似乎不是一个可行的选择.例如,此图像只有两个峰:

这是我检查过的另外两张图片:

java image-processing computer-vision

21
推荐指数
2
解决办法
3622
查看次数

一种简单的方法(工具?)来比较不同格式的像素像素?

好吧,我现在已经在java中编写了一个基本的无损jpeg joiner东西,但我想将它生成的文件与原始文件进行比较.

我只能在十六进制编辑器中进行比较,有没有人知道一个简单的方法,软件或基于java(最好是软件,因为我现在不再需要编码了!)我可以比较两个图像并产生一个"差异图" "像素不一样的地方?

谢谢.

java comparison jpeg image image-processing

16
推荐指数
2
解决办法
2万
查看次数

自动MSI安装

自动安装MSI文件或安装程序.exe的最佳方法是什么?我们希望在已安装的产品副本上从我们的构建系统进行一些自动化测试.我们的安装程序具有通常的许可证接受屏幕,安装位置等.


正如FryHard指出的那样,有两种选择看起来很方便:

  • "/ q​​uiet" - 没有使用互动
  • "/ passive" - 仅限处理栏,无人值守模式

automated-tests windows-installer automated-deploy

15
推荐指数
2
解决办法
2万
查看次数

Android:app许可,版权保护

我有一个apk文件,这是非免费的

我的问题如下:

1,如果市场上的Copy Protection设置为"true",用户是否可以从设备复制我的apk文件?(rooted/non rooted)从设备复制apk

2,如果可以:实现真正的复制保护的最佳方法是什么?

谢谢,莱斯利

android copy-protection android-lvl

15
推荐指数
1
解决办法
9878
查看次数

自动更新:这样安全吗?

点网自动更新

我觉得.net缺少一个简单的安全自动更新库,所以我已经实现了一些东西并把它放在这里.在任何人考虑使用该库之前,我都热衷于更新过程以获得一些同行评审.

以下是步骤:

  • 客户端软件填充有公钥和URI以进行轮询.
  • 客户端轮询清单文件的URI.
  • 下载清单并使用签名(在单独的".signature"中)来检查清单是否有效.
  • 从清单中解析待处理更新列表(向用户显示).
  • 下载安装程序文件,并再次使用相应的".signature"文件进行验证.(下载的文件将受ACL保护)
  • 安装程序已运行.

减轻威胁:

  • 清单签名应该可以防止任何恶意下载(" 地毯式轰炸 ")
  • 安装程序签名应防止任何MITM攻击发送恶意安装程序
  • 使用ACL保护下载的安装程序应该可以防止任何本地升级攻击.

未减轻的威胁:

  • 一个MITM攻击下,攻击者总是报告"没有可用的更新".(可能使客户端处于易受攻击的版本)

参考文献:


我错过了什么?


.net c# vb.net security auto-update

13
推荐指数
1
解决办法
2127
查看次数

NHibernate在桌面应用程序中的会话管理策略是什么?

我发现在桌面应用程序中管理会话要困难得多,因为你无法利用像HttpContext这样明确的键盘.那么如何管理会话生命周期以利用延迟加载但没有为整个应用程序打开一个会话?

.net nhibernate desktop-application

11
推荐指数
2
解决办法
4962
查看次数