小编Ste*_*102的帖子

OpenCV获取圆上的像素

我是 OpenCV 的新手,我正在尝试从图像中获取圆形的像素。

例如,我在随机图像上画一个圆圈:

import cv2

raw_img = cv2.imread('sample_picture.png')
x = 50
y = 50
rad = 20
cv2.circle(raw_img,(x,y),rad,(0,255,0),-1)
cv2.imshow('output', raw_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

输出显示带有圆圈的图像。但是,我希望能够以数组的形式获取圆上的所有像素。有什么办法可以做到这一点吗?我知道我可以从圆公式中得到近似坐标,但是它会涉及大量的小数计算,而且我很确定函数cv2.circle()已经计算出了像素,那么有没有办法得到它是从函数本身中得出的,而不是计算我自己?

另外,如果可能的话,我想使用cv2.ellipse()获取椭圆的像素作为坐标数组。但这一次,我只想从椭圆的一部分(从某个角度到另一个角度,我可以在 cv2.ellipse() 的参数中指定)获取像素。

谢谢。

python-3.x opencv3.0

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

有没有更快的方法将二维 numpy 数组保存到 png

嗨,我是 python 新手,我正在尝试将 2d numpy 数组保存到 png 文件中。

我的 2d numpy 数组中的每个元素都是 0 ~ 100 之间的整数,我有一个getColor()函数将它映射到 rgb 值。我现在正在做的方法是构建一个与我的 2d numpy 数组形状相同的 3 通道 numpy 数组,并将每个值映射到相应的 rgb 值。然而,这需要很多时间,我觉得应该有一种更有效的方法来做到这一点。我的代码目前需要大约 5 秒来处理一张图像。

import numpy as np
import imageio

flt_m = get2dArray() # returns a (880*880) numpy array

def getColor(value):
    if(value < 0):
        return (0,0,0)
    elif(value < 50):
        return (100,150,200)
    else:
        return (255,255,255)

canvas = np.zeros((flt_m.shape[0], flt_m.shape[1], 3)).astype(np.uint8)
for row in range(flt_m.shape[0]):
    for col in range(flt_m.shape[1]):
        rgb = getColor(flt_m[row, col])
        for i …
Run Code Online (Sandbox Code Playgroud)

python png numpy

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

无法将浮点数组传递出函数

我是c ++的新手,我想使用指针将float数组传递出函数。但是,返回的数组始终为0;我在Arduino Uno上运行。

这是我的代码。我希望readSensor()函数传递一个包含3个float的float数组。浮点数组应传递给指针输出*。但是,当我打印出读数时,它显示的是0.00,而不是我传递的值。

void setup() {
  Serial.begin(9600);
}

void loop() {
  float readings[3];
  readSensor(readings);
  for (int i = 0;i < 3;i++) {
    Serial.println(readings[i]);
  }
  delay(1000);
}

// pass out these 3 floats
float val1 = 3.14159;
float val2 = 2.741;
float val3 = 87;
void readSensor(float* output) {
  float container[3] = {val1, val2, val3};
  output = container;
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays floating-point

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

标签 统计

arrays ×1

c++ ×1

floating-point ×1

numpy ×1

opencv3.0 ×1

png ×1

python ×1

python-3.x ×1