小编Joh*_*mse的帖子

网络摄像头代码中的内存泄漏

好的,我一直在尝试通过网络摄像头做一些特定的视频.我有一个Lumenera Infinity 2显微镜,我试图从中提取饲料,并希望能够在进入时修改饲料.由于我找不到使用Video Source Player的方法,我决定改为拉动每个帧(相机的最大15fps)作为位图,以便我可以在那里进行修改.

问题是:我有一个巨大的内存泄漏.当我使用videoSourcePlayer运行视频时,它使用大约30兆的徘徊.当我将帧拉动为位图时,它会在几秒钟内打破1 gig的内存.

我错过了什么,这里?我认为自动垃圾收集会在旧框架无法访问时挖出旧框架.我应该尝试强制在位图上进行垃圾回收吗?或者它完全是另一回事,而且我还是错过了它.

FilterInfoCollection captureDevices;
VideoCaptureDevice cam;
Bitmap bitmap;

public Form1()
{
  InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
  try
  {
    captureDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);

    if (captureDevices.Count == 0)
      throw new ApplicationException();

    CameraSelectComboBox.Items.Clear();

    foreach (FilterInfo device in captureDevices)
    {
      CameraSelectComboBox.Items.Add(device.Name);
    }

    CameraSelectComboBox.SelectedIndex = 0;
    CameraSelectComboBox.Enabled = true;
  }
  catch (ApplicationException)
  {
    CameraSelectComboBox.Enabled = false;
  }
}

private void connectButton_Click(object sender, EventArgs e)
{
  cam = new VideoCaptureDevice(captureDevices[CameraSelectComboBox.SelectedIndex].MonikerString);
  cam.NewFrame -= Handle_New_Frame; //Just to avoid …
Run Code Online (Sandbox Code Playgroud)

c# webcam memory-leaks video-capture aforge

9
推荐指数
1
解决办法
2703
查看次数

将命令放在命名空间的内部或外部?

我正在学习MVC WebAPI,我正在学习一个教程,一切都很顺利,直到我看到以下内容:

namespace HelloWebAPI.Controllers
{
    using HelloWebAPI.Models;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;

    public class ProductsController : ApiController
    {}
Run Code Online (Sandbox Code Playgroud)

我们通常做的是在开头添加资源\ scope,如下所示:

using HelloWebAPI.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;

namespace HelloWebAPI.Controllers
{

    public class ProductsController : ApiController
    {}
Run Code Online (Sandbox Code Playgroud)

我的主管告诉我它没关系,应该没问题,因为它是关于这个主题的官方MS教程.

**我想知道为什么这不重要,以便我对它有更好的理解?**

c# coding-style namespaces

8
推荐指数
2
解决办法
4853
查看次数

任务占用时间的算法

Edit:
Steps:
Start at target day. 
Then move backwards until no events are carried over from another day.
From there, start counting hours, and keep track of carried over hours. 
Day cannot last more than ActualDayLength()
Then, once you know that, work your way back to target and then calculate actual occupied hours.
Run Code Online (Sandbox Code Playgroud)

我有任务放在日历上:

在此输入图像描述

现在让我给出一些背景:每天"持续"7.5小时.但是我使用了一个名为DayHours的变量(现在是7.5).(DayHours也用于下面描述的锁定时间).

此日历的目标是为员工安排7.5小时的工作日.

我需要的是一种算法,可以正确地告诉我一天中实际占用了多少小时.

这看起来很简单,但实际上是非常递归的.

首先,几个笔记.你会发现案件经理在14小时内可以在​​7.5小时的2天内完成,剩下1小时.它被延长到3天,因为1. Schedule,是5个小时,并且2.在当天的前任任务完成之前无法启动.

还有锁定时间的概念.在紫色是锁定时间.这是10个小时的锁定时间.这意味着,在12日,我只能做(7.5 - 7.5)小时的工作,而周一,只能做(7.5 - 2.5)小时.

我已经有了一个函数来计算实际一天的可用时间来解释这个问题:

public decimal GetActualDayLength(DateTime day, Schedule s)
{
    var e = Schedules.GetAllWithElement();
    var t = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net algorithm

8
推荐指数
1
解决办法
1019
查看次数

QueryDSL删除方法

我正在使用带有QueryDSL 2.9.0的spring-data-mongodb 1.2.0.

为什么不QueryDslPredicateExecutordelete(Predicate predicate)方法?

有解决方法吗?

querydsl spring-data spring-data-mongodb

8
推荐指数
1
解决办法
2983
查看次数

一段时间后,NSTimer在后台停止

当应用程序进入后台时,我使用NSTimer在1秒后调用方法,并且在将近17分钟后计时器停止工作.

当它回到正轨时它再次开始工作,所以请告诉我为什么会发生这种情况以及如何解决这个问题.

为了同样的目的,我也尝试使用递归延迟的执行选择器,但同样给出相同的结果.请建议任何解决方案.任何帮助将完全赞赏.

iphone objective-c ios

8
推荐指数
2
解决办法
2042
查看次数

打开时防止Word文档的字段更新

我为另一个团队编写了一个实用程序,它递归地浏览文件夹,并使用Word Interop和C#将发现的Word文档转换为PDF.

我们遇到的问题是文档是使用日期字段创建的,这些日期字段在保存之前更新到今天的日期.我找到了一种在打印前禁用更新字段的方法,但我需要阻止字段在打开时更新.

那可能吗?我想在C#中修复,但如果我必须做一个Word宏,我可以.

c# ms-word office-interop

7
推荐指数
1
解决办法
4150
查看次数

确保属性仅与静态方法一起使用

有没有办法告诉属性仅在与静态方法一起使用时起作用?

AttributeUsage 类似乎不允许这种特殊用法。

[AttributeUsage(AttributeTargets.Method,
                Inherited = false, AllowMultiple = false)]
Run Code Online (Sandbox Code Playgroud)

c# attributes

7
推荐指数
1
解决办法
1675
查看次数

将日期变量存储在bash脚本中

我想将日期值存储到变量中以备将来使用.请更正示例脚本:

#!/bin/bash
Now_hourly = $(date +%d-%b-%H_%M)    
Now_daily = $(date +%d-%b-daily)    
echo $(Now_hourly)    
echo $(Now_daily)
Run Code Online (Sandbox Code Playgroud)

输出应该是: 12-Feb-17_5012-Feb-daily
,但是当我运行该脚本,我得到以下错误:
Now_hourly: command not found
Now_daily: command not found

bash

7
推荐指数
1
解决办法
5万
查看次数

在小写和大写之间添加间距?

我希望在字符串中包含大写字符或下划线时添加空格.

我该怎么做呢?

例1

输入

ThisIsAnInputString
Run Code Online (Sandbox Code Playgroud)

输出(结果)

This Is An Input String
Run Code Online (Sandbox Code Playgroud)

例2

输入

This_Is_An_Input_String
Run Code Online (Sandbox Code Playgroud)

输出(结果)

This Is An Input String
Run Code Online (Sandbox Code Playgroud)

c# string

6
推荐指数
3
解决办法
6425
查看次数

如何在TreeView中显示目录?

以下是我的代码

DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\Shahul\Documents\Visual Studio 2010\Projects\TreeView\TreeView\bin\FileExplorer");

private void Form1_Load(object sender, EventArgs e)
{
    if (Directory.Exists("FileExplorer"))
    {
        try
        {
            DirectoryInfo[] directories = directoryInfo.GetDirectories();

            foreach (FileInfo file in directoryInfo.GetFiles())
            {
                if (file.Exists)
                {
                    TreeNode nodes = treeView.Nodes[0].Nodes.Add(file.Name);
                }
            }

            if (directories.Length > 0)
            {
                foreach (DirectoryInfo directory in directories)
                {
                    TreeNode node = treeView.Nodes[0].Nodes.Add(directory.Name);
                    node.ImageIndex = node.SelectedImageIndex = 0;
                    foreach (FileInfo file in directory.GetFiles())
                    {
                        if (file.Exists)
                        {
                            TreeNode nodes = treeView.Nodes[0].Nodes[node.Index].Nodes.Add(file.Name);
                        }
                    }
                }
            }
        }
        catch (Exception ex) …
Run Code Online (Sandbox Code Playgroud)

c# treeview

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