小编agr*_*rom的帖子

添加曲线切线,以及切线的法线。OpenCV Python

我试图沿着下图中的曲线添加切线,就像第二张图片中的红线。然后我想使用切线找到切线(绿线)的 90 度法线。目标是找到不同位置的两条白线之间的距离。我使用 Python 和 OpenCV,如果有人对我如何做到这一点有任何建议,我将不胜感激。代码示例会很棒。

原图

带有渐变曲线的图像

python opencv image distance

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

根据 Python 中的数组值拆分数组

我有一个像这样的坐标数组:

array = [[1,6],[2,6],[3,8],[4,10],[5,6],[5,7],[18,6],[19,5],[17,9],[10,5]]
Run Code Online (Sandbox Code Playgroud)

我想将数组拆分为6. 和7。协调,([5,7],[18,6])因为那里的值存在差距X。我想得到两个单独的数组,arr1arr2,其中arr1是分割之前的值,arr2是分割之后的值。

我想说,如果下一个X值大于 的差值10,它将附加到arr2, else arr1,如下所示:

arr1 = []
arr2 = []
for [x,y] in array: 
    if next(x) > 10:
        arr2.append(x,y)
    else:
        arr1.append(x,y)
Run Code Online (Sandbox Code Playgroud)

有人可以帮我解决这个问题吗?

python arrays split

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

如何使用opencv和Python在ROI中找到轮廓?

我试图找到图像特定区域的轮廓.是否可以只显示ROI内部的轮廓而不是图像其余部分的轮廓?我在另一篇类似的帖子中读到我应该使用面具,但我不认为我正确使用它.我是openCV和Python的新手,所以任何帮助都很受欢迎.

import numpy as np
import cv2

cap = cv2.VideoCapture('size4.avi')
x, y, w, h= 150, 50, 400 ,350
roi = (x, y, w, h)

while(True): 
    ret, frame = cap.read()
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    _, thresh = cv2.threshold(gray, 127, 255, 0)
    im2, contours, hierarchy = cv2.findContours(thresh,    cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

    roi = cv2.rectangle(frame, (x,y), (x+w, y+h), (0,0,255), 2)
    mask = np.zeros(roi.shape,np.uint8)
    cv2.drawContours(mask, contours, -1, (0,255,0), 3)

    cv2.imshow('img', frame)
Run Code Online (Sandbox Code Playgroud)

python opencv roi

3
推荐指数
2
解决办法
4730
查看次数

对于每个第N个值,C#将1D数组拆分为2D数组

我有一维一维的数组:

int[] array = { 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32,33, 34,40,41,42,43, 44};
Run Code Online (Sandbox Code Playgroud)

我想将这个1D数组划分为4行5列的2D数组,其中前5个值进入第1行,后5个进入第2行,依此类推.最终结果应如下所示:

array2D:

[[10, 11, 12, 13, 14]
[20, 21, 22, 23, 24]
[30, 31, 32, 33, 34]
[40, 41, 42, 43, 44]]
Run Code Online (Sandbox Code Playgroud)

实际上,阵列将更长(可能超过100行),但列数为5,行数可以分为5.我已经简化了例如.这是我到目前为止所尝试的:

int[] array = { 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32,33, 34,40,41,42,43, 44};
int[,] array2D = new int[(array.Length/5),5];

int count_0 = 1;
int count_1 = 1;
int count_2 = 1;
int …
Run Code Online (Sandbox Code Playgroud)

.net c# arrays winforms

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

标签 统计

python ×3

arrays ×2

opencv ×2

.net ×1

c# ×1

distance ×1

image ×1

roi ×1

split ×1

winforms ×1