美文网首页
计算机入门课Stanford CS101-week3

计算机入门课Stanford CS101-week3

作者: 月白子 | 来源:发表于2017-04-02 23:26 被阅读0次

Image Logic

If-statement 是用来评判一个陈述是否属实的函数,如果属实则进入下一步程序。这个函数用在图像变化上,可以提高改变颜色转化的精确度。如果想要把一张图中 所有偏红的颜色 改成蓝色,上节课的做法是直接找出r值大于某个数的pixel,把它改成蓝色。这个做法有个问题就是有些pixel,它不仅r值高,g/b值也高,所以它显示的不一定是偏红的颜色,有可能只是总体亮度较高的偏蓝的颜色。这里 if statement和average结合,就可以用来筛选掉一批总体亮度较高且偏蓝偏绿的pixels,留下那些视觉上偏红色的pixel.

if (pixel.getRed() > avg * 1.1){

...

}

This function can detect the pixel by color.

Image Bluescreen

继续搞事!有if statement提高颜色选择准确率作为基础,该老师现在要把另外一张图片上的图案移动到选择出来的颜色上,当然是同相同坐标(位置)上的图案。实现方法:1. 先获得选择出来的颜色块的坐标(x,y);2. 对第二张图片的像素点命名,如pixel2; 3.获取相同(x,y)的rgb值,转给选择出来的颜色块。

step1: 

x=pixel.getX( );

y=pixel.getY( );

step2: 

(这里有一个猜测:图像-像素-rgb值/xy值,存在逐级递减关系,如果要对某一层进行操作,语法必须是 上一层.get这一层( ). )

pixel2=back.getPixel(x,y)

step3:

pixel.setRed(pixel2.getRed());

pixel.setGreen(pixel2.getGreen());

pixel.setBlue(pixel2.getBlue());

条件:个人感觉以上两个section要让结果自然的话,进行操作的颜色块必须和周围颜色相差较大,比如说是一块明显的蓝色,不然容易选到图像的其他部分。另外如果要blue screen effect的话,第二张图像需要有大面积相同的图案,不然截过去只有一部分的话就会显得怪怪的。

Computer Hardware

突然进入硬件部分。

Moore's Law: Transistor 的加工技术进步速度为每一年,一个同样体积的芯片的transistor容量加倍。这意味芯片功能更强大以及其价格更便宜。

相关文章

网友评论

      本文标题:计算机入门课Stanford CS101-week3

      本文链接:https://www.haomeiwen.com/subject/gormnttx.html