Python-numpy实现灰度图像的分块和合并方式

yipeiwu_com5年前Python基础

我就废话不多说了,直接上代码吧!

from numpy import *
import numpy as np
import cv2, os, math, os.path
from PIL import Image
base="F:\\Spy_CNN\\pythonCode\\cvSPY\\cvTest\\LBP\\LBPImag3\\"
base2="F:\\ProgrameCode\\FaceDataLib\\orl_Arry\\"
imageOld=cv2.imread(base2+"s1_1.bmp")
image=cv2.cvtColor(imageOld,cv2.COLOR_BGR2GRAY)
'''图像的合成'''
H,W=image.shape#(112, 92)
kuai=5
a=1#为了好调程序
maskx,masky = H/kuai,W/kuai  #29 14
toImage=np.zeros((H+(kuai-1)*a,W+(kuai-1)*a))
toImage.shape

#您画画图,总结规律,就可以想出来了

for i in range(kuai):
    for j in range(kuai):
        '''float64 array'''
        faceZi=image[int(i*maskx): int((i+1)*maskx),int(j*masky) :int((j+1)*masky)]
        cv2.imwrite(base+str(i)+str(j)+".bmp",faceZi)
#        toImage[int(i*maskx)+a: int((i+1)*maskx)+a,int(j*masky)+a :int((j+1)*masky)+a]=faceZi  
        toImage[int(i*maskx)+i: int((i+1)*maskx)+i,int(j*masky)+j :int((j+1)*masky)+j]=faceZi            
cv2.imwrite(base+"toImage.bmp",toImage)
#最简单的,直接在灰度图像上画出一条黑线,只是会丢失一些像素的数据
for i in range(1,kuai):
    print(i)
    toImage[int(i*maskx),:]=0
    toImage[:,int(i*masky)]=0
cv2.imwrite(base+"toImage.bmp",toImage)

 

以上这篇Python-numpy实现灰度图像的分块和合并方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python矩阵转换为一维数组的实例

实例如下所示: >>>from compiler.ast import flatten >>>X matrix([[ 1, 17, 13, 22...

django允许外部访问的实例讲解

1、关闭防火墙 service iptables stop 2、设置django 开开启django时,使用0.0.0.0:xxxx,作为ip和端口例如: python ma...

使用python搭建Django应用程序步骤及版本冲突问题解决

使用python搭建Django应用程序步骤及版本冲突问题解决

首先你要确保你机器上面安装了python,其次,你还要确保你上面安装了Django。接下来,才能进入到搭建第一个Django应用程序很简单的操作,即在windows终端输入代码:复制代码...

Python处理时间日期坐标轴过程详解

Python处理时间日期坐标轴过程详解

1. 前言 当日期数据作为图表的坐标轴时通常需要特殊处理,应为日期字符串比较长,容易产生重叠现象 2. 设定主/次刻度 2.1 引用库 from matplotlib.date...

Python写的Tkinter程序屏幕居中方法

本文适用场景:想用Tkinter开发界面程序并屏幕居中,但没找到相应的API。 这两天玩了玩Tkinter,感觉不错,就是屏幕居中这个问题在网上搜了很长时间也没 找到答案,最后没办法,...