机器学习第3章第7节 : 图片的平铺效果

机器学习第3章第7节 : 图片的平铺效果


思路

图像的平铺,首先计算平浦后的图像的大小,生成同样大小的空白图像

然后在空白图像中逐个像素复制图像.

直接将空白图像像素值设置为平铺后该位置对应的像素值


代码

#!/user/bin/env python
# -*- coding: utf-8 -*-
"""
平铺图片

@author: Oscar
"""
import cv2
import numpy as np

fn = "img/test.jpg"
if __name__ == '__main__':
    print('loading %s...' %fn)
    img = cv2.imread(fn)
    height = img.shape[0]
    width = img.shape[1]

    #横向平铺5个像素
    sz1 = width * 5
    #纵向平铺2像素
    sz0 = height * 2
    #创建空白图像,然后接将图片排列
    myimg = np.zeros((sz0,sz1,3),np.uint8)
    #逐个图像复制
    img_x = 0
    img_y = 0
    for now_y in range(0,sz0):
        #增加行数
        for now_x in range(0,sz1):
            #复制对应位置的图像像素点
            myimg[now_y,now_x,0] = img[img_y,img_x,0]
            myimg[now_y,now_x,1] = img[img_y,img_x,1]
            myimg[now_y,now_x,2] = img[img_y,img_x,2]
            #增加列数
            img_x += 1
            if img_x >= width:
                img_x = 0
        img_y += 1
        if img_y >= height:
            img_y = 0
        print(round((now_y * 100) / (height * 2)),'%')
    cv2.namedWindow('img1')
    cv2.imshow('img', myimg)
    cv2.waitKey()
    cv2.destroyAllWindows()

运行结果

原图

orgin

效果图

show


笔记

复制的时候是逐行复制.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值