python - 在python opencv中获取强度为255的二进制图像的像素位置

标签 python python-3.x opencv image-processing opencv3.0

我想获取图像中蓝点的像素坐标。
为了获得它,我首先将其转换为灰度并使用阈值功能。

    import numpy as np
    import cv2

    img = cv2.imread("dot.jpg")
    img_g = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    ret1,th1 = cv2.threshold(img_g,127,255,cv2.THRESH_BINARY_INV)

如果我想获得强度为255的像素位置,该怎么办?请告诉您是否有一些更简单的方法可以做到这一点。

最佳答案

我认为这不会像您期望的那样起作用。
通常,为了在具有特定颜色的形状上获得稳定的跟踪,可以在RGB / HSV / HSL平面中执行此操作,您可以从 HSV 开始,它在照明方面更强大。

1-使用cv2.cvtColor()转换为HSV

2-使用cv2.inRagne(blue_lower, blue_upper)“过滤”所有不需要的颜色。

现在,您有了一个只有蓝色的美观二进制图像(假设您具有静态背景或应添加更多滤镜)。

3-现在,如果要检测点(通常超过一个像素),可以尝试cv2.findContours

4-您可以使用多种方法来获得轮廓的x,y像素(取决于您要检测的形状),例如cv2.boundingRect()

关于python - 在python opencv中获取强度为255的二进制图像的像素位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61982405/

相关文章:

python - -0.0 和 +0.0 之间有区别吗?

python - 处理Python中的按键错误

c++ - visual studio 中的备用未处理异常

python - 通过套接字从 C++ 服务器向 Python 客户端发送数据时出现问题

python - 在单词列表中查找双字母组

python - 是否可以获取 tkinter 消息框图标图像文件?

python - 重复数组并在特定位置停止 w/numpy

python - 优化整数系数列表与其长整数表示之间的转换

c++ - OpenCV 创建每行包含多个图像的矩阵

python - 如何使用OpenCV对图像中的像素组进行分组和突出显示?