Python-numpy实现灰度图像的分块和合并方式
我就废话不多说了,直接上代码吧!
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以及numpy通过直接操作图像数组完成一系列基本的图像处理 numpy简介: NumPy是一个非常有名的 Python 科学计算工具包,其中包含了大量有用的工具,比如数组对象(用来表示向量.矩阵.图像等)以及线性代数函数. 数组对象可以实现数组中重要的操作,比如矩阵乘积.转置.解方程系统.向量乘积和归一化.这为图像变形.对变化进行建模.图像分类.图像聚类等提供了基础. 在上一篇python基本图像操作中,当载入图像时,通过调用 array() 方法将图像转换成NumPy的数组对象
-
Python实现合并两个列表的方法分析
本文实例讲述了Python实现合并两个列表的方法.分享给大家供大家参考,具体如下: 浏览博客看到一个问题:如何合并两个列表,今天就来探讨一下. 方法一 最原始,最笨的方法,分别从两个列表中取出所有的元素,再放入新列表中就OK了.示例代码如下: list1 = [1,2,3] list2 = [4,5,6] list_new = [] for item in list1: list_new.append(item) for item in list2: list_new.append(item)
-
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
在处理图像的时候经常是读取图片以后把图片转换为灰度图.作为一个刚入坑的小白,我在这篇博客记录了四种处理的方法. 首先导入包: import numpy as np import cv2 import tensorflow as tf from PIL import Image 方法一:在使用OpenCV读取图片的同时将图片转换为灰度图: img = cv2.imread(imgfile, cv2.IMREAD_GRAYSCALE) print("cv2.imread(imgfile, cv2.I
-
基于Python中numpy数组的合并实例讲解
Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np.hstack() - np.vstack() - np.dstack() 其中最泛用的是第一个和第二个.第一个可读性好,比较灵活,但是占内存大.第二个则没有内存占用大的问题. 方法一--append parameters introduction arr 待合并的数组的复制(特别主页是复制,所以要多耗费很多内存) values 用来合并到上述数组
-
Python-numpy实现灰度图像的分块和合并方式
我就废话不多说了,直接上代码吧! 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.i
-
Python numpy实现数组合并实例(vstack,hstack)
若干个数组可以沿不同的轴合合并到一起,vstack,hstack的简单用法, >>> a = np.floor(10*np.random.random((2,2))) >>> a array([[ 8., 8.], [ 0., 0.]]) >>> b = np.floor(10*np.random.random((2,2))) >>> b array([[ 1., 8.], [ 0., 4.]]) >>> np.vs
-
Python NumPy灰度图像的压缩原理讲解
灰度图像是对图像的颜色进行变换,如果要对图像进行压缩该怎么处理呢? 1.矩阵运算中有一个概念叫做奇异值和特征值. 设A为n阶矩阵,若存在常数λ及n维非零向量x,使得Ax=λx,则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量. 一个矩阵的一组特征向量是一组正交向量. 2.即特征向量被施以线性变换 A 只会使向量伸长或缩短而其方向不被改变. 特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之
-
Python numpy中矩阵的基本用法汇总
Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组array),都可以用于处理行列表示的数字元素,虽然他们看起来很相似,但是在这两个数据类型上执行相同的数学运算可能得到不同的结果,其中Numpy函数库中的matrix与MATLAB中matrices等价. 直接看一个例子: import numpy as np a = np.mat('1 3;5 7')
-
详解Numpy中的数组拼接、合并操作(concatenate, append, stack, hstack, vstack, r_, c_等)
Numpy中提供了concatenate,append, stack类(包括hsatck.vstack.dstack.row_stack.column_stack),r_和c_等类和函数用于数组拼接的操作. 各种函数的特点和区别如下标: concatenate 提供了axis参数,用于指定拼接方向 append 默认先ravel再拼接成一维数组,也可指定axis stack 提供了axis参数,用于生成新的维度 hstack 水平拼接,沿着行的方向,对列进行拼接 vstack 垂直拼接,沿着列的
-
Python Numpy库常见用法入门教程
本文实例讲述了Python Numpy库常见用法.分享给大家供大家参考,具体如下: 1.简介 Numpy是一个常用的Python科学技术库,通过它可以快速对数组进行操作,包括形状操作.排序.选择.输入输出.离散傅立叶变换.基本线性代数,基本统计运算和随机模拟等.许多Python库和科学计算的软件包都使用Numpy数组作为操作对象,或者将传入的Python数组转化为Numpy数组,因此在Python中操作数据离不开Numpy. Numpy的核心是ndarray对象,由Python的n维数组封装而来
-
python 如何将两个实数矩阵合并为一个复数矩阵
问题描述: 有时需要把两个实数矩阵,一个作为实部,一个作为虚部,合并为一个复数矩阵,该如何操作? 解决办法: 假如是在第二个维度上进行合并(real: Data[:, 0, :, :] imag: Data[:, 1, :, :]),有两种方法 第一种. result = Data[:, 0, :, :] + 1j*Data[:, 1, :, :] 第二种. result = 1j*Data[:, 1, :, :] result += Data[:, 0, :, :] 第二种方法更节省内存~ 补
-
使用Python NumPy库绘制渐变图案
目录 1. 导入模块 2. 基本绘画流程 3. 生成随机彩色图像 4. 生成渐变色图像 5. 在渐变色背景上画曲线 6. 使用颜色映射(ColorMap) 7. 展示NumPy的魅力 NumPy也可以画图吗?当然!NumPy不仅可以画,还可以画得更好.画得更快!比如下面这幅画,只需要10行代码就可以画出来.若能整明白这10行代码,就意味着叩开了NumPy的大门.请打开你的Python IDLE,跟随我的脚步,一起来体验一下交互式编程的乐趣吧,看看如何用NumPy画图,以及用NumPy可以画出什么
-
Python Numpy库的超详细教程
1.Numpy概述 1.1 概念 Python本身含有列表和数组,但对于大数据来说,这些结构是有很多不足的.由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.对于数值运算来说这种 结构比较浪费内存和CPU资源.至于数组对象,它可以直接保存 数值,和C语言的一维数组比较类似.但是由于它不支持多维,在上面的函数也不多,因此也不适合做数值运算.Numpy提供了两种基本的对象:ndarray(N-dimensional Array Object)和 ufunc(Universal Funct
-
Python Numpy库的超详细教程
1.Numpy概述 1.1 概念 Python本身含有列表和数组,但对于大数据来说,这些结构是有很多不足的.由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针.对于数值运算来说这种 结构比较浪费内存和CPU资源.至于数组对象,它可以直接保存 数值,和C语言的一维数组比较类似.但是由于它不支持多维,在上面的函数也不多,因此也不适合做数值运算.Numpy提供了两种基本的对象:ndarray(N-dimensional Array Object)和 ufunc(Universal Funct
随机推荐
- jquery JSON的解析方式
- 负数与二进制换转方法
- jquery动态导航插件dynamicNav用法实例分析
- 一个比较新奇的隐藏文件的招数
- 关于asp.net button按钮的OnClick和OnClientClick事件
- php,ajax实现分页
- Zend Framework动作助手Json用法实例分析
- Js 去掉字符串中的空格(实现代码)
- C++类URL编码和解码使用技巧
- php递归使用示例(php递归函数)
- React学习笔记之条件渲染(一)
- Mac系统下源码编译安装MySQL 5.7.17的教程
- Lua教程(四):函数详解
- SQL数据库日志已满解决方法
- php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
- asp.net(C#)中上传大文件的几中常见应用方法
- 详解Python里使用正则表达式的ASCII模式
- Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
- Spring Security 图片验证码功能的实例代码
- 零基础实现node+express个性化聊天室的示例