机器学习第3章第6节 : 图像的日落效果
注意事项
在书中使用的是numpy.xrange(),但是由于python3不支持,所以我使用range()代替.
思路
图像的日落效果是将蓝色值和绿色值设为原来的70%,红色值不变.
代码
#!/user/bin/env python
# -*- coding: utf-8 -*-
"""
图像的日落效果
将蓝色值和绿色值设为原来的70%,红色值不变
"""
import cv2
fn="img/test1.jpg"
if __name__ == '__main__':
img = cv2.imread(fn)
height = img.shape[0]
width = img.shape[1]
#生成日落效果
for xi in range(0,width ):
for xj in range (0,height ):
img[xj,xi,0] = int(img[xj,xi,0]*0.7)
img[xj,xi,1] = int(img[xj,xi,1]*0.7)
if xi%10 == 0 : print('.'),
cv2.namedWindow('img')
cv2.imshow('img', img)
cv2.waitKey()
cv2.destroyAllWindows()
运行结果
原图片:
渲染后的图片:
笔记
img.shape[0]
是获取图像矩阵的第一个维度的数据.
if xi%10 == 0 : print('.'),
一行一行的处理,处理完就print一个”.“,其中,”,“的作用是将换行换成空格.因为print()函数打印完之后就会自动换行,而逗号在这里起着将换行替换成空格的作用.