首页 文章

是否可以从直方图中找到图像的平均颜色?

提问于
浏览
2

我用this method取每种颜色的平均值,并将红色,绿色和蓝色的平均值写入数据库 .

Here are the images按"-blue"排序 . 如您所见,第5张图像的蓝色最多 . 我做错了什么,或者不能从直方图中获得平均颜色?

这是我创建直方图的处理程序:

class ImageSave(webapp.RequestHandler):
    def post(self):
        homepage = HomePage()
        original_image = self.request.get("img")
        url = self.request.get("url")
        firm_name = self.request.get("firm_name")

        original_image = db.Blob(original_image)
        thumbnail = images.resize(original_image, 250, 250)
        img = images.Image(thumbnail)
        hist = img.histogram()
        rgb_weighed_average = hist_weighed_average(hist)

        #update database
        homepage.original_image = original_image            
        homepage.thumbnail = thumbnail
        homepage.firm_name = firm_name
        homepage.url = url

        homepage.red = rgb_weighed_average[0]
        homepage.green = rgb_weighed_average[1]
        homepage.blue = rgb_weighed_average[2]

        homepage.put()

        self.redirect("/imageupload")

谢谢!

1 回答

  • 5

    实际上,第五张图像没有最蓝 . 请注意,白色为 (255, 255, 255) 为rgb,因此完全为白色的图像与完全为蓝色的图像具有相同的蓝色 . 深蓝色的组分比白色小 blue .

相关问题