• 计科入门8: 黑白照【灰度】

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 灰度

    OK, 今天学习的内容让我们掌握如下两个变换

    1. 红色图变灰色图

     

    2. 彩色图变灰色图

    ----------------------------------------------

    OK,首先既然我们要学会把颜色变成灰色

    首先来了解灰色是如何构成的

    • 灰色的构成:

    当RGB的值一样的时候,就呈现不同量度的灰色:

    比如如下几个不同亮度的灰色的例子:

    当然了,每一个元色越亮,整体灰色越亮

    ----------------------------------------------

    OK, 进入我们课程练习网页:

    斯坦福官方:http://www.stanford.edu/class/cs101/image-6-grayscale.html

    ----------------------------------------------

    运行第一段代码,载入图像

    我们的这个图像所有的像素点只有不同亮度的红色,绿色和蓝色都是0

    • 想一想:

    我们怎么把这个图片变成灰白的呢?

    • 答案:

    既然所有的值都一样的时候就是不同亮度的灰色了

    我们过滤图片中的每一个像素,获得其红色值X,然后把绿色和蓝色都设置成X不就行了

    • 练习一:简化代码

    把以上红框里的代码从3句话,减少到2句话,实现同样的效果。

    延伸问题:分析下你写的2句话的代码和3句话的代码哪个运行速度可能更快?

    • 练习二:更好的解密

    把上一讲的谜题中的大桥从悲惨的红色中解救出来吧

    网址:http://www.stanford.edu/class/cs101/image-5-puzzles.html

     

    现在,我们迎接

    • 第二个挑战

    这个问题有些麻烦了。

    • 想一想:

    麻烦在什么地方?

    • 答案:

    麻烦就麻烦在没一点的RGB的值都不一样

    我们上一个练习中很明确所有的GB都是0,所以直接把GB都设置成R就万事大吉了

    但是这个图片中每个像素的RGB都有值,我们按照哪个来呢?

    于是,我们可以做如下实验:

    • 试一试:

    把所有像素点都设置成R值,或者G值,或者B值,看看那个效果更好?

    • 平均数方法

    注意,网页官方的标准答案并不是让RGB全等于R,G或者B

    而是先求了一下RGB的平均数,然后让RGB都等于这个平均数

    这样好像兼顾了一下所有的三元色

    你喜欢那种方法呢?【我个人喜欢全等于G时候的效果】

    • 练习三:

    进入网页:http://www.stanford.edu/class/cs101/image-4-expressions.html

    试着编写代码实现下面4种效果:

    玩得开心,下次见。

    • 标签:
    • coursera
    • 所有
    • 更好
    • scale
    • 灰色
    • rgb
    • 平均数
    • 练习
    • 句话
    • gray
    • 想一想
    • 代码
    • 答案
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部