相关疑难解决方法(0)

如何在Python-OpenCV中使用`cv2.inRange`检测两种不同的颜色?

如何定义两种不同颜色的"下"和"上"范围,例如红色和蓝色(因为红色和蓝色在HSV颜色中彼此不相邻)

这个属于红色:

lower_red = np.array([160,20,70])
upper_red = np.array([190,255,255])
Run Code Online (Sandbox Code Playgroud)

这个属于蓝色:

lower_blue = np.array([101,50,38])
upper_blue = np.array([110,255,255])
Run Code Online (Sandbox Code Playgroud)

我尝试使用if条件将它们组合起来或制作自己的功能但不起作用,你们能告诉我解决方案吗?

P/s:Python中的OpenCV

python opencv

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

如何用OpenCV Python准确检测空心圆(环)的位置?

我想确定此(静态视频)图像中注射器尖端的中心位置。尖端名义上是圆形的并且具有已知的尺寸和数量。

我目前正在笔尖上涂上红色墨水,以便更容易检测到它们。如果不必这样做就好了,但我认为如果没有它,检测将会非常困难。有人喜欢挑战吗?

我开始尝试 SimpleBlobDetector,因为它有一些很好的过滤功能。我无法弄清楚的一件事是如何让 SimpleBlobDetector 检测空心圆(环)?

然后我尝试了canny + hough,但圆检测太不稳定,位置跳来跳去。

我目前正在使用 findContours + minEnendingCircle ,它工作正常,但仍然很不稳定。面具看起来像这样。结果。可以看到准确率不是很高:

动图

我简单地查看了 RANSAC,但找不到可以检测多个圆的 Python 示例,而且边缘检测很棘手。

我当前的代码:

# /sf/ask/2276609261/
frame_inv = ~frame0
# Convert BGR to HSV
hsv = cv2.cvtColor(frame_inv, cv2.COLOR_BGR2HSV)
blur = cv2.GaussianBlur(hsv, (5, 5), 0)
# define range of color in HSV
lower_red = np.array([90 - 10, 70, 50])
upper_red = np.array([90 + 10, 255, 255])
# Threshold the HSV image to get only red colors
mask = cv2.inRange(hsv, …
Run Code Online (Sandbox Code Playgroud)

python opencv image-processing

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

使用直方图确定有色物体的存在?

我试图确定图片的一部分是否包含红白条纹对象(liftramp).如果它存在,它看起来像这样:当下,当不是这样的时候: 没有

天真的方法是提取直方图,并计算红色像素是否多于蓝色/绿色像素:

use Image::Magick;

my $image = Image::Magick->new;
my $rv = $image->Read($picture);
#$rv = $image->Crop(geometry=>'26x100+484+40');

my @hist_data = $image->Histogram;
my @hist_entries;

# Histogram returns data as a single list, but the list is actually groups of 5 elements. Turn it into a list of useful hashes.
while (@hist_data) {
    my ($r, $g, $b, $a, $count) = splice @hist_data, 0, 5;
    push @hist_entries, { r => $r, g => $g, b => $b, alpha => $a, count => $count }; …
Run Code Online (Sandbox Code Playgroud)

perl comparison imagemagick histogram

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

如何使用OpenCV找到RED颜色区域?

我正在尝试制作一个我检测到红色的程序.但是有时它比平时更暗,所以我不能只使用一个值.什么是检测不同色调红色的好范围?我目前使用的范围是128,0,0 - 255,60,60,但有时它甚至都没有检测到我放在它前面的红色物体.

python opencv colors

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