小编Cod*_*nja的帖子

使用 Python OpenCV 检测图像中的对象位置

我需要在图像中找到下面肿瘤的位置,即大脑的左侧或右侧。

当前图像

我尝试使用轮廓和 Canny 边缘检测来检测侧面,但似乎不起作用

# Find Canny edges 
edged = cv2.Canny(img, 30, 200) 
cv2.waitKey(0) 

# Finding Contours 
# Use a copy of the image e.g. edged.copy() 
# since findContours alters the image 
contours, hierarchy = cv2.findContours(edged,  
    cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE) 

cv2.imshow('Canny Edges After Contouring', edged) 
cv2.waitKey(0) 

print("Number of Contours found = " + str(len(contours))) 

# Draw all contours 
# -1 signifies drawing all contours 
cv2.drawContours(img, contours, -1, (0, 255, 0), 3) 
Run Code Online (Sandbox Code Playgroud)

python opencv image image-processing computer-vision

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

Java 8 如何使用 lambda 表达式简化 for 循环

我的代码中有这个方法,需要使用 java 8 表达式来简化和减少行。Lambda 可用于此目的,但如果没有列表作为输入似乎是不可能的。

  public ResourceUsage[] filterResourceUsages(ResourceUsage[] resourceUsages, int role, int includeResourceType)
    throws SpiderException
  {
    ArrayList<ResourceUsage> filteredResourceUsages = new ArrayList<>();

    String[] ids = new String[resourceUsages.length];
    for (int i = 0; i < resourceUsages.length; i++)
    {
      ids[i] = resourceUsages[i].resource;
    }

    ResourceData[] resourceData = resourceToolkitAdapter.getData(ids);

    for (int i = 0; i < resourceData.length; i++)
    {
      if (resourceUsages[i].role == role && resourceData[i].basic.type == includeResourceType)
      {
        filteredResourceUsages.add(resourceUsages[i]);
      }
    }
    return filteredResourceUsages.toArray(new ResourceUsage[filteredResourceUsages.size()]);
  }
Run Code Online (Sandbox Code Playgroud)

我试过使用resourceUsages.forEach(resourceUsages.resource-> do something);但没有列表作为输入似乎是不可能的。

有没有办法简化这段代码?

java foreach lambda for-loop java-8

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

如何从具有最大日期时间对象的列表中获取对象

下面是我的代码,用于查找具有最新开始日期时间的联系人对象。DateTime 显示为一个对象。

是否有任何方法可以使用流和比较器来简化此代码。

public ContactData getLatestContact(ContactData[] contacts) {
  int latestContact = 0;
  for (int i = 1; i < contacts.length; i++) {
    if (DateTimeToolkit.compare(contacts[i].begin, contacts[latestContact].begin) > 0) {
      latestContact = i;
    }
  }
  return contacts[latestContact];
}
Run Code Online (Sandbox Code Playgroud)

java arrays datetime max

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

SQL Server 中必须声明标量变量“ ”错误

我需要向表中添加一个不为空且默认日期时间的新列。但我收到如下错误。我检查了多个实例,但都出现错误。

DECLARE @SQL NVARCHAR(1000), @date NVARCHAR(1000);
SET @date = '9999-12-31 00:00:00.000'

SET @SQL = 'ALTER TABLE [spi].[ProductClass]
                ADD lastUpdatedTime datetime NOT NULL
                    CONSTRAINT default_updateTime DEFAULT @date';

EXEC sp_executesql @SQL;
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误。

必须声明标量变量“@date”。

有什么解决办法吗?

sql t-sql sql-server

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