小编Cle*_*son的帖子

Golang - [...]接口的总和{}

我在 Golang 中创建了一个通用数据结构,带有名称和通用数组。

package main

import "fmt"

type NamedArray struct {
  Name string
  values []interface{}
}

func main() {
  data := [...]int{1, 2, 3, 4, 5}
  interfaced_data := make([]interface{}, len(data))
  for i, v := range data{
    interfaced_data[i] = v
  }
  int_arr := NamedArray{Name: "Int Array", values: interfaced_data}
  fmt.Println(int_arr)
  // fmt.Println(int_arr.Sum()) -- uncomment to run Sum

  data_float := [...]float64{0.1, 0.2, 0.3, 0.4, 0.5}
  interfaced_data_float := make([]interface{}, len(data_float))
  for i, v := range data_float{
    interfaced_data_float[i] = v
  }
  float_arr := NamedArray{Name: "Float …
Run Code Online (Sandbox Code Playgroud)

types interface go type-assertion

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

如何返回TreeMap中包含的值的TreeSet?

我试图得到一个TreeMap中键的所有值的集合,大于某个值,键.

代码尝试如下:

TreeSet<E> set = (TreeSet<E>)tMap.tailMap(key, false).values();
Run Code Online (Sandbox Code Playgroud)

有没有办法在Java中这样做?

谢谢!!

java tree treemap treeset data-structures

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

查找形状内的像素索引:Opencv 和 Python

假设我有一个从预处理步骤中收到的中空、弯曲(不一定是凸形)形状的掩模:

空心圆掩模

我现在想尝试选择该形状出现的所有像素并将它们添加到蒙版中,如下所示:

填充圆形蒙版

我怎样才能在Python中做到这一点?


生成示例的代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt

# Parameters for creating the circle
COLOR_BLUE = (255, 0, 0)
IMAGE_SHAPE = (256, 256, 3)
CIRCLE_CENTER = tuple(np.array(IMAGE_SHAPE) // 2)[:-1]
CIRCLE_RADIUS = 30
LINE_THICKNESS = 5 # Change to -1 for example of filled circle

# Draw on a circle
img = np.zeros(IMAGE_SHAPE, dtype=np.uint8)
img_circle = cv2.circle(img, CIRCLE_CENTER, CIRCLE_RADIUS, COLOR_BLUE, LINE_THICKNESS)
circle_mask = img_circle[:, :, 0]

# Show the image
plt.axis("off")
plt.imshow(circle_mask)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python opencv numpy image-processing scikit-image

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

Golang可以使用字符串来执行操作吗?

我想创建一个有条件地执行两个int操作的方法.从本质上讲,它应该做到以下几点

package main

import (
    "fmt"
)

func main() {

    op := "*"
    a := 100
    b := 200

    fmt.Println(a op b)
}
Run Code Online (Sandbox Code Playgroud)

在没有使用switch语句的情况下,这可能在Golang中实现吗?我能够做到这一点的唯一方法是:

switch a {
case "+":
    fmt.Println(a + b)
case "*":
    fmt.Println(a * b)
case "/":
    fmt.Println(a / b)
case "-":
    fmt.Println(a - b)
}
Run Code Online (Sandbox Code Playgroud)

我想使这个像操作更具可扩展性<,<=,<<,等.

go

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