首先,
我们先了解一下计算机读取图片信息的方式,图片在计算机视图中是以三维矩阵的形式表示的。三个维度分别是高度、宽度、和通道数。
彩色图片的通道是三通道形式。
python中的numpy库可以实现对图片矩阵的操作。
opencv库完成图片的读入和转换,搭配numpy库使用。
安装opencv库前先确保已经安装了numpy库。
python最简单的图形用户界面设计库easygui。
核心算法的实现,既然图片是一个三位矩阵,我们就可以从一个角开始,每30(自己随意设定)个像素点划分为一个小的矩阵,在小矩阵中随机挑选出一个像素点,获得它的各个属性。再将小矩阵中其他所有点的属性全部改为该点的属性(即相当于把参考点直接赋值给小矩阵所有点,实现单个小矩阵像素点的色彩相同)。
最后指定一个位置保存自己的结果图。
代码块
import numpy as np #导入所需要的库
import cv2 as cv
import random
import easygui
fin = easygui.enterbox(msg="请输入要打码小方格数:") #通过easygui实现图形用户界面
lens = int(fin)
leng = int(np.sqrt(lens