使用一下Python的opencv看看。将一张120 * 120的图片变成由120 * 120张120 * 120图片组成的图片
# -*- coding: utf-8 -*-
import cv2
import numpy as np
# 加载图片
def local_image(file):
# 加载图片
cv_m = cv2.imread(file)
return cv_m
# 将图片转化为灰度图片
def show_2gray(m):
m2gray = cv2.cvtColor(m, cv2.COLOR_RGB2GRAY)
return m2gray
# 图片变化
def image_change(img, m2):
A = img * (m2/255)
B = np.trunc(A)
C = B.astype(np.int16)
return C
# 图片组合
def img_change(m, m2g, k1, k2):
img_v0 = image_change(m, m2g[k1][0])
for jj in range(1, 120):
# 水平组合
img_v0 = np.hstack((img_v0, image_change(m, m2g[k1][jj])))
for i in range(k1+1, k2):
img_c0 = image_change(m, m2g[i][0])
for j in range(1, 120):
img_c0 = np.hstack((img_c0, image_change(m, m2g[i][j])))
# 垂直组合
img_v0 = np.vstack((img_v0, img_c0))
return img_v0
def main_image(file):
# 调用加载图片方法
m = local_image(file)
# 获取灰度图片
m2gray = show_2gray(m)
# 将灰度图片数值改为0-1之间
m2g = m2gray
# 图片组合
img_v0 = img_change(m, m2g, 0, 120)
# 保存
cv2.imwrite('../images/maximg3_3.png', img_v0)
if __name__ == '__main__':
main_image('../images/0002.png')
原图
变化后太大,放不下原图,只能截图
局部放大