我正在尝试使用EmguCV进行面部识别.我想知道我是否可以使用EigenObjectRecognizer执行此任务?有人可以解释我如何使用它吗?因为如果没有不匹配的照片,它也会返回一个值.这是一个例子:
Image<Gray, Byte>[] trainingImages = new Image<Gray,Byte>[5];
trainingImages[0] = new Image<Gray, byte>("brad.jpg");
trainingImages[1] = new Image<Gray, byte>("david.jpg");
trainingImages[2] = new Image<Gray, byte>("foof.jpg");
trainingImages[3] = new Image<Gray, byte>("irfan.jpg");
trainingImages[4] = new Image<Gray, byte>("joel.jpg");
String[] labels = new String[] { "Brad", "David", "Foof", "Irfan" , "Joel"}
MCvTermCriteria termCrit = new MCvTermCriteria(16, 0.001);
EigenObjectRecognizer recognizer = new EigenObjectRecognizer(
trainingImages,
labels,
5000,
ref termCrit);
Image<Gray,Byte> testImage = new Image<Gray,Byte>("brad_test.jpg");
String label = recognizer.Recognize(testImage);
Console.Write(label);
Run Code Online (Sandbox Code Playgroud)
它返回"brad".但是如果我在testimage中更改照片它也会返回一些名字甚至Brad.Is对于使用这种方法进行人脸识别是否有用?或者有更好的方法吗?
我有一个使用实体框架4的现有MVC 3应用程序.该模型是使用数据库优先模式生成的.我还有"自动代码生成"来生成类.
今天,我对我的数据库做了一个简单的修改.字段从"int"变为"float".我去了.edmx,右键单击,从数据库更新模型...
但是当我看到这个领域时,它根本没有变化.我仔细检查了一切,数据库被修改了,但模型永远不会改变......这是否意味着我需要手工完成?
我记得我之前做了几次更新(比如2个月前),它似乎在当时工作......有什么可以打破,我需要检查?
编辑
当在颠覆EDMX diff文件看,这种变化似乎做,但它在"图形模式"看时,该变化是不存在的.此外,不会更新生成的代码.
- <Property Name="PreparationTime" Type="int" Nullable="false" />
+ <Property Name="PreparationTime" Type="float" Nullable="false" />
Run Code Online (Sandbox Code Playgroud) 我有一个用 kotlin 编码的 web 服务,并由 gradle 管理构建/依赖项等......
我想做一件简单的事情:当有人调用version我的 web 服务的REST 端点时,它返回版本。
由于 gradle 已经处理了具有versionin 属性的版本build.gradle,我认为获得这个值很容易,但似乎不是......我已经在谷歌上搜索了几个小时,一切似乎都很复杂。
知道如何以好的方式处理版本吗?
这是我现在所拥有的:
构建.gradle
version = "1.0.0"
...
Run Code Online (Sandbox Code Playgroud)
状态服务.kt
class StatusService : IStatusService {
//TODO: Here I would like to get the version from the gradle
//file instead of maintaining 2 places for the version
//Something like Gradle.getProperties("version") for example
override fun getVersion() : String = "1.0.0"
}
Run Code Online (Sandbox Code Playgroud)
我可能完全错了,所以如果你有另一个等效的解决方案,我也会接受它!谢谢
我目前正在使用 OpenApiGenerator 插件更新 gradle 项目。我更新了 gradle 版本 (v7.0) 和 OpenApiGenerator 插件版本 (5.1.0)。
当我尝试构建时,我收到这条奇怪的消息:
Some problems were found with the configuration of task ':api:openApiValidate' (type 'ValidateTask').
- Type 'ValidateTask' property 'inputSpec' of mutable type 'org.gradle.api.provider.Property' is writable.
Run Code Online (Sandbox Code Playgroud)
这是脚本:
apply plugin: 'org.openapi.generator'
description = """OpenApi API Validator"""
def openApiInput = file(tasks.getByName('processResources').outputs.files.singleFile.absolutePath + "\\openapi.yml")
openApiValidate {
inputSpec = openApiInput.path
}
tasks.findByName('openApiValidate').inputs.files openApiInput
tasks.findByName('openApiValidate').outputs.dir project.buildDir
tasks.findByName('openApiValidate').dependsOn 'processResources'
classes.dependsOn 'openApiValidate'
tasks.findByName('openApiGenerate').enabled = false
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?谢谢!
当我在Visual Web Developper Express 2010中按F5时,我的MVC网站在我的调试机器上工作得很好.我已经发布了几次没有问题,但我最近做了很多改动,我的最新发布没有按预期工作.
事实上,发布工作完美,没有显示特殊信息.但问题是,当我连接到地址时,我收到错误500.我谷歌并添加所需的web.config信息,以便我得到详细信息.
这是我得到的信息:
HTTP错误500.0 - 内部服务器错误
由于发生内部服务器错误,无法显示页面.
模块:AspNetInitializationExceptionModule
通知:BeginRequest
处理程序:ExtensionlessUrlHandler-Integrated-4.0
错误代码:0x00000000
任何人都可以指出我正确的方向调试这个?如有必要,我可以为您提供有关我的申请的更多信息!
谢谢!
我正在尝试使用jQuery对话框在我的页面中输入数据.由于某种原因我不明白,当用户按回车键时,整个页面都会刷新.它甚至不验证文本框中的内容.
我创建了一个显示问题的jsfiddle.我在这里检查了文档,我的代码似乎遵循了指南,但我必须遗漏一些东西!
这是我如何调用对话框
$("#create-subtitle")
.click(function () {
$("#dialog-form-subtitles").dialog("open");
return false;
});
Run Code Online (Sandbox Code Playgroud)
这是我的一个对话框:
$("#dialog-form-steptitles").dialog({
autoOpen: false,
height: 220,
width: 450,
modal: true,
buttons: {
"Ajouter un sous-titre pour les étapes": function () {
var bValid = true;
allFieldsStepTitle.removeClass("ui-state-error");
bValid = bValid && checkLength(nameStepTitle, "sous-titre pour les étapes", 3, 50);
if (bValid) {
var $parent = $("#StepTitles");
var numElem = $parent.find("tr").length;
$('#StepTitles > tbody:last').append('<tr><td><input class="text-box single-line" id="StepTitles_' + numElem + '__Name" name="StepTitles[' + numElem + …Run Code Online (Sandbox Code Playgroud) 我正在进行对象调用的LINQ查询Recipe,需要按照它的分数进行排序.在开始时,我有一个IEnumberable类型Recipe(已经过搜索条件过滤)调用selectedRecipies
然后,在我的朋友谷歌的帮助下,我使用匿名类型完成了此查询:
var finalQuery = ((from h in db.StarRatings
where selectedRecipies.Any(sr => sr.IDRecipe == h.IDRecipe)
group h by new { h.IDRecipe } into hh
select new
{
hh.Key.IDRecipe,
Score = hh.Sum(s => s.Score)
}).OrderByDescending(i => i.Score));
Run Code Online (Sandbox Code Playgroud)
而且我认为它的工作...我的问题是,对我的看法,我需要它是类型Recipe和finalQuery似乎是类型的IEnumerable<'a>地方a是匿名类型?
如何List<>在不打扰OrderByDescending的情况下获得Recipe类型?
我正在编写一些单元测试,却偶然发现了这个奇怪的“ bug”,这使我无法运行单元测试。
当我运行“ when(...)。thenReturn(...)”时,我收到一个InvocationTargetException。然后奇怪的是,当我调试时,它会进入真实对象并在空成员上崩溃。当我调试其他“ when”时,它进入了一个名为“ Intercept”的函数,该函数阻止了真实代码的执行……我不了解该对象的不同之处以及如何防止这种奇怪的行为。
这是我的单元测试:
@Test
public void getSyncStatusShouldReturnValueFromDiskWhenNotRunning() throws IOException {
//Arrange
when(updater.isDone()).thenReturn(true);
when(brandSyncUpdater.isDone()).thenReturn(true); //This is where it throw error
when(stationSyncUpdater.isDone()).thenReturn(true);
//Act
//Assert
}
Run Code Online (Sandbox Code Playgroud)
这是我的setUp()和单元类测试的成员部分
private Updater updater;
private BrandSyncUpdater brandSyncUpdater;
private StationSyncUpdater stationSyncUpdater;
@Before
public void setUp() {
updater = mock(Updater.class);
brandSyncUpdater = mock(BrandSyncUpdater.class);
stationSyncUpdater = mock(StationSyncUpdater.class);
}
Run Code Online (Sandbox Code Playgroud)
我不知道它是否相关,但是BrandSyncUpdater和StationSyncUpdater都有一个名为SyncUpdater的父级,isDone()函数位于该父级。
编辑
班级等级
Updater 独自一堂课
BrandSyncUpdater并且StationSyncUpdater正在扩展SyncUpdater
Updater isDone() 签名和代码:
public boolean isDone() {
return states.isEmpty();
}
Run Code Online (Sandbox Code Playgroud)
SyncUpdater isDone() 签名和代码:
public boolean isDone() {
return …Run Code Online (Sandbox Code Playgroud) 我已经修改了我的项目以成为多平台.
以前的状态:
只有一个模块(项目)与一个build.gradle.所有测试都在测试文件夹中,当我运行时,我的gradlew testDebug所有500个测试都在运行.
新州: 我有一个主要的gradle项目,除了持有3个模块之外什么都不做
每个模块都有自己的gradle文件,但只能构建android和rasberryPi模块.在它们的依赖项中(在它们各自的build.gradle文件中),它们针对"核心"模块进行编译.像这样:
dependencies {
compile project(':clapcore')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android:android:4.1.1.4'
}
Run Code Online (Sandbox Code Playgroud)
我所有的500项测试现在都在核心.因此,当我gradlew clean assembleDebug testDebug在Android模块上执行时,未检测到任何测试,并且test-result的文件夹为空.
我试图testDebug直接在核心模块上运行命令,但由于它不是自己构建的,我收到错误:
FAILURE: Build failed with an exception.
* What went wrong:
Task 'testDebug' not found in project ':core'.
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:有没有办法,在gradle中,告诉"testDebug"命令运行其模块依赖(核心)中的所有测试?
我也尝试在android模块的依赖项中添加一个testCompile,但它不起作用,如下所示:
dependencies {
compile project(':clapcore')
testCompile project(':clapcore')
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.android:android:4.1.1.4'
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑
我发现我可以gradlew build在核心上执行命令,它将在'核心'模块中运行测试.但是如果有可能的话,我想通过"级联"运行这些测试.
*编辑2*
我发现我可以gradlew buildNeeded在'android'模块上执行命令,它将为android模块和核心进行构建.不幸的是,它只是在发布!如果有人可以指出我使用此功能的方法,但在调试中,这将是惊人的.我在调试中需要它,因为发布版本启动了更多的任务,如更改版本,提交git,推送等等......这仅适用于每晚构建,因此需要进行调试.
我正在尝试从 Play 2.6 迁移到 Play 2.7。
在我的代码中,我有一个自定义过滤器,它将特定标题添加到 CORS 的结果中。这里没什么特别的。
在 Play 2.7 之前,我通过 Action 组合添加了标题,但由于我们不再能够轻松访问结果(只有请求),我发现使用过滤器会更容易(并且我希望在所有调用中都使用它,所以这说得通)。
我的问题是在 Play 2.7 中,当我的代码中出现异常时,我的自定义过滤器会被调用,但不会被应用。它适用于每个不在 ErrorHandler 中的调用。这使得前端无法使用结果,因为它不包含所需的标头。
所以我的问题是:即使出现错误/异常,我们如何确保调用和应用过滤器?
这是过滤器:
@Singleton
public class AccessHeaderFilter extends EssentialFilter {
private final Executor exec;
private final Config configuration;
@Inject
public AccessHeaderFilter(Executor exec, Config configuration) {
this.exec = exec;
this.configuration = configuration;
}
@Override
public EssentialAction apply(EssentialAction next) {
return EssentialAction.of(request ->
next.apply(request)
.map(result ->
result.withHeader(Http.HeaderNames.ACCESS_CONTROL_ALLOW_ORIGIN, configuration.getString("front-end.url"))
.withHeader(Http.HeaderNames.ACCESS_CONTROL_REQUEST_METHOD, "GET, POST, PUT, DELETE, OPTIONS")
.withHeader(Http.HeaderNames.ACCESS_CONTROL_ALLOW_HEADERS, "Cache-Control, X-Requested-With, Accept, Content-Type")
.withHeader(Http.HeaderNames.ACCESS_CONTROL_ALLOW_CREDENTIALS, "true")
.withHeader(Http.HeaderNames.CACHE_CONTROL, …Run Code Online (Sandbox Code Playgroud)