小编Yic*_*Lin的帖子

python - opencvmorphologyEx 删除特定颜色

删除验证码的背景后。
图像仍然是数字和噪声。
噪声线都是一种颜色:RGB(127,127,127)
然后使用形态学方法。

    kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (2, 2))
    self.im = cv2.morphologyEx(self.im, cv2.MORPH_CLOSE, kernel)
Run Code Online (Sandbox Code Playgroud)

数字的某些部分将被删除。
如何使用morphologyEx() 只删除RGB(127,127,127) 中的颜色?

在此处输入图片说明 在此处输入图片说明

python opencv image-processing

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

正则表达式选项"Multiline"

我有一个正则表达式匹配日期格式与逗号.

yyyy/mm/dd或yyyy/mm

例如:

2016/09/02,2016/08,2016/9月30日

我的代码:

string data="21535300/11/11\n";
Regex reg = new Regex(@"^(20\d{2}/(0[1-9]|1[012])(/(0[1-9]|[12]\d|30|31))?,?)*$", 
                      RegexOptions.Multiline);

if (!reg.IsMatch(data))
    "Error".Dump();
else
    "True".Dump();
Run Code Online (Sandbox Code Playgroud)

我使用选项多线.如果字符串数据有"\n".任何角色都会匹配此正则表达式.

例如:

string data="test\n"
string data="2100/1/1"
Run Code Online (Sandbox Code Playgroud)

我在MSDN中找到了选项定义.它说:

它改变了^和$语言元素的解释,使它们匹配行的开头和结尾,而不是输入字符串的开头和结尾.

我不明白为什么会出现这个问题.有人可以解释一下吗?谢谢.

c# regex

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

C#Linq - 在列表中查找重复值并选择它的id

这是我的Linqpad示例:

 void Main()
{
    List<test> test=new List<test>();
    test.Add(new test("001","2016/10/5","11:00","A1"));
    test.Add(new test("002","2016/10/5","11:00","A1"));
    test.Add(new test("003","2016/10/4","11:00","cc")); 
    test.Add(new test("004","2016/10/4","10:00","cc"));
    test.Add(new test("005","2016/10/3","11:00","cc"));

    var list=test.GroupBy(x => new { x.BOOKING_DATE, x.PERIOD_NAME,x.BOOKING_TABLE})
    .Where(g=>g.Count()>1).Select(G=>G.Key.BOOKING_TABLE);

    list.Dump();
}

public class test{
    public string ORDERM_ID;
    public string BOOKING_DATE;
    public string PERIOD_NAME;
    public string BOOKING_TABLE;
    public test(string id,string date,string period,string table){
        this.ORDERM_ID=id;
        this.BOOKING_DATE=date;
        this.PERIOD_NAME=period;
        this.BOOKING_TABLE=table;
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望BOOKING_DATE和PERIOD_NAME分组找到重复的BOOKING_TABLE.

在这个例子中,我发现重复值是"A1",但我想在列表中选择ORDERM_ID.如何构建linq查询来执行此操作?

c# linq

4
推荐指数
1
解决办法
1033
查看次数

C#如何将List <object []>转换为List <customClass>

这是我的代码.可以在Linqpad中运行.

void Main(){

   List<Object> listobj=new List<object>{
   new object[]{"A01001","sucess","on"},
   new object[]{"A01002","fail","off"}};
   listobj.Dump();

   var second = listobj.Cast<RowItem>();
   second.Dump();
}

public class RowItem {
   public string GOODS_ID { get; set; }
   public string AUDIT_STATUS { get; set; }
   public string APPLY_STATUS { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想转换List<object>List<RowItem>,但当我使用cast方法时,它返回一个错误cannot convert type 'System.Object[]' to class RowItem

这是可能的,还是有另一种方法来实现这一目标?

谢谢.

c# linq

2
推荐指数
1
解决办法
1536
查看次数

C# 控制台应用程序 - 运行任务连续循环

我在控制台应用程序中使用 while 循环创建多个任务。
从数据库中选择和更新记录。
我的程序只会执行一次然后关闭窗口。
如何保持控制台窗口打开,并无限运行任务。

static void Main(string[] args)
{
    Task.Run(async () =>  // <- marked async
    {
        while (true)
        {
            InsertProcess(GameList.RO1);
            await Task.Delay(5000);
        }
    });
    Task.Run(async () =>  // <- marked async
    {
        while (true)
        {
            InsertProcess(GameList.ROS);
            await Task.Delay(5000);
        }
    });
}

public static void InsertProcess(Game game)
{
    using (SqlConnection conn = new SqlConnection(RO1DBConn))
    {
        // ... query database
    }
}
Run Code Online (Sandbox Code Playgroud)

c# multithreading console-application

0
推荐指数
1
解决办法
1681
查看次数