Классификация черно-серебряных изображений - PullRequest
0 голосов
/ 13 января 2020

Я изо всех сил пытаюсь классифицировать изображения по черному и серебряному цветам. Как я могу использовать OpenCV для их классификации? Изображение с черным цветом Изображение с серебристым цветом? Какая ошибка ниже?

import numpy as np
import cv2


# RGB color boundaries
black = ([0, 0, 0], [50, 50, 50])

boundaries = [black]

# 
# Load an color image in grayscale
img = cv2.imread('zmFf4.jpg')
print(img.shape)

breakpoint()
for (lower, upper) in boundaries:

    # create NumPy arrays from the boundaries
    lower = np.array(lower, dtype="uint8")
    upper = np.array(upper, dtype="uint8")


    # find the colors within the specified boundaries and apply
    # the mask
    mask = cv2.inRange(img, lower, upper)
    output = cv2.bitwise_and(img, img, mask=mask)

    # show the images
    cv2.imshow("images", np.hstack([img, output]))
    cv2.waitKey(0)

1 Ответ

1 голос
/ 13 января 2020

Вы не ищете серебряный диапазон. Действуйте как под

import numpy as np
import cv2


# RGB color boundaries
black = ([0, 0, 0], [50, 50, 50])
silver = ([192, 192, 192], [212, 212, 212])
boundaries = [black, silver]

#
# Load an color image in grayscale
img = cv2.imread('zmFf4.jpg')
print(img.shape)

breakpoint()
for (lower, upper) in boundaries:

    # create NumPy arrays from the boundaries
    lower = np.array(lower, dtype="uint8")
    upper = np.array(upper, dtype="uint8")


    # find the colors within the specified boundaries and apply
    # the mask
    mask = cv2.inRange(img, lower, upper)
    output = cv2.bitwise_and(img, img, mask=mask)

    # show the images
    cv2.imshow("images", np.hstack([img, output]))
    cv2.waitKey(0)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...