检测白色物体的轮廓

时间:2019-07-03 20:06:55

标签: python opencv

我正试图找到涂成白色的物体,如所附图像所示 我正在使用HSV颜色空间来检测白色 我无法获取完整的对象,但部分对象却被检测到,尽管整个对象都被涂成白色,但我试图从中检测出白色对象:

这就是我得到的,只有一部分物体被检测到

Detected Image

这是我使用的代码

for (HWND hwndtip=NULL; (hwndtip=FindWindowEx(NULL, hwndtip, TOOLTIPS_CLASS, _T("MINE!!")))!=NULL;) {
    // check if it has the control id we want
    TOOLINFO toolinfo ={ 0 };
    toolinfo.cbSize = sizeof(toolinfo);
    toolinfo.hwnd = hwnd;
    toolinfo.uFlags = TTF_IDISHWND;
    toolinfo.uId = (UINT_PTR)hwndctl;
    if (SendMessage(hwndtip, TTM_GETTOOLINFO, 0, (LPARAM)&toolinfo)) {
      // found tooltip to delete
      DestroyWindow(hwndtip);
      result=TRUE;
      break;
    }
  }

谁能告诉我我做错了什么,如何找到完整的对象

1 个答案:

答案 0 :(得分:1)

尝试调整颜色范围:

lower_white = np.array([0,0,180])
higher_white = np.array([255,255,255])
white_range = cv2.inRange(hsv, lower_white, higher_white)
plt.imshow(white_range, cmap='gray')

给予

enter image description here

或者您可以在BGR颜色空间上进行过滤:

lower_white = (180,180,180)
higher_white = (255,255,255)
white_range = cv2.inRange(rawImage, lower_white, higher_white)

给予

enter image description here