所以......通过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()
关于为什么该步骤返回一个时髦的旋转灰度图像的任何想法或建议?