Итак ... прорабатываем книгу Практическое компьютерное зрение с SimpleCV, глава 5 - тот же пример, что и в онлайн-руководстве здесь. Получил совсем другое значение для среднего цвета желтой машины, поэтому я вернулся к примеру кода, вставил еще несколько комментариев, добавил кое-что для отображения (а затем аккуратного закрытия) изображений на каждом этапе.
from SimpleCV import Image
import time
# Load images.
car_in_lot = Image("parking-car.png")
car_not_in_lot = Image("parking-no-car.png")
# Crop image to region-of-interest.
car = car_in_lot.crop(470,200,200,200)
car.show()
time.sleep(5)
car.show().quit()
# Create greyscale image showing how far from yellow various colors are.
yellow_car = car.colorDistance(Color.YELLOW)
yellow_car.show()
time.sleep(5)
yellow_car.show().quit()
# Subtract greyscale image from cropped image to show just the yellow portions.
only_car = car - yellow_car
only_car.show()
time.sleep(5)
only_car.show().quit()
print only_car.meanColor()
который возвращает результат (0.6376000000000001, 2.096775, 5.170425)
вместо (25.604575, 18.880775, 4.4940750000000005)
, как указано в книге и руководстве.
Первое изображение обрезанного места для парковки с автомобилем выглядит хорошо ... но на изображении в оттенках серого все выглядит явно странно. Изображение, которое я получаю, повернуто на 90 градусов и совсем не похоже на изображение в примерах. Вот ссылка на него в Dropbox.
И оттуда ... с colorDistance так далеко от того, что должно быть быть ... средние значения цвета не совпадают.
Есть какие-нибудь идеи или предложения относительно того, почему на шаге colorDistance()
получилось забавное повернутое изображение в градациях серого, как это было?