python读取图像矩阵文件并转换为向量实例


Posted in Python onJune 18, 2020

假设图像矩阵大小为32×32,将其转换为向量,首先创建1×1024的NumPy数组,然后打开给定的文件,循环读出文件的前32行,并将每行的头32个字符值存储在NumPy数组中

import numpy as np
 
def img2vector(filename):
 returnVect = np.zeros((1, 1024))
 fr = open(filename)
 for i in range(32):
  lineStr = fr.readline()
  for j in range(32):
   returnVect[0, 32*i+j] = int(lineStr[j])
 return returnVect

补充知识:旋转向量和旋转矩阵的互相转换(python cv2.Rodrigues()函数)

处理矩阵三维转换时,通常采用旋转矩阵,但是旋转变换其实只有三个自由度,用旋转向量表达时更为简洁。因此,需要实现从旋转向量和旋转矩阵之间的互转换。

旋转向量和旋转矩阵之间可以通过罗德里格斯公式进行转换:

python读取图像矩阵文件并转换为向量实例

代码实现:

可以直接采用opencv中的Rodrigues函数实现,函数原型:

void Rodrigues( InputArray src, OutputArray dst, OutputArray jacobian = noArray() );

参数:

输入src:旋转向量(3*1或者1*3)或者旋转矩阵(3*3);

输出dst:旋转矩阵(3*3)或者旋转向量(3*1或者1*3);

输出jacobin:可选项,输出雅克比矩阵(3*9或者9*3),输入数组对输出数组的偏导数。

python代码举例:

# -*- coding: UTF-8 -*-
import os
import cv2
import numpy as np
T = np.zeros((1,3), np.float32)
a = (0.2,0.4,0.8)
print (a)
R = cv2.Rodrigues(a)
print (R[0])
v3 = (R[0][2,1],R[0][0,2],R[0][1,0])
print (v3)
c = cv2.Rodrigues(v3)
print (c[0])
b = cv2.Rodrigues(R[0])
print (b[0])
p = (-2.100418,-2.167796,0.27330)
print(cv2.Rodrigues(p)[0])

例子如下:

python读取图像矩阵文件并转换为向量实例

以上这篇python读取图像矩阵文件并转换为向量实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
linux下安装easy_install的方法
Feb 10 Python
Python FTP操作类代码分享
May 13 Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
python 划分数据集为训练集和测试集的方法
Dec 11 Python
在Python 不同级目录之间模块的调用方法
Jan 19 Python
python调用虹软2.0第三版的具体使用
Feb 22 Python
django模板结构优化的方法
Feb 28 Python
Django 中间键和上下文处理器的使用
Mar 17 Python
python使用itchat模块给心爱的人每天发天气预报
Nov 25 Python
python图片指定区域替换img.paste函数的使用
Apr 09 Python
Python基于pandas爬取网页表格数据
May 11 Python
Python datetime模块使用方法小结
Jun 18 #Python
Python读取Excel数据并生成图表过程解析
Jun 18 #Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 #Python
python名片管理系统开发
Jun 18 #Python
一文轻松掌握python语言命名规范规则
Jun 18 #Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 #Python
基于PyTorch的permute和reshape/view的区别介绍
Jun 18 #Python
You might like
php ZipArchive压缩函数详解实例
2013/11/06 PHP
php对象在内存中的存在形式分析
2015/02/03 PHP
php两种无限分类方法实例
2015/04/21 PHP
Javascript 面向对象 对象(Object)
2010/05/13 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
将form表单通过ajax实现无刷新提交的简单实例
2016/10/12 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】
2017/05/13 jQuery
一份超级详细的Vue-cli3.0使用教程【推荐】
2018/11/15 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
vue v-for出来的列表,点击某个li使得当前被点击的li字体变红操作
2020/07/17 Javascript
Vue中component标签解决项目组件化操作
2020/09/04 Javascript
windows如何把已安装的nodejs高版本降级为低版本(图文教程)
2020/12/14 NodeJs
JS实现点击掉落特效
2021/01/29 Javascript
[05:48]DOTA2英雄梦之声vol21 屠夫
2014/06/20 DOTA
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
python中执行shell的两种方法总结
2017/01/10 Python
django项目运行因中文而乱码报错的几种情况解决
2017/11/07 Python
判断python字典中key是否存在的两种方法
2018/08/10 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
pytorch实现建立自己的数据集(以mnist为例)
2020/01/18 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
python3 实现口罩抽签的功能
2020/03/11 Python
Python 使用office365邮箱的示例
2020/10/29 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
大学生职业生涯规划书模板
2014/01/03 职场文书
大学生职业生涯规划书的基本内容
2014/01/06 职场文书
食品工程专业求职信
2014/06/15 职场文书
小学安全教育月活动总结
2014/07/07 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书
K8s部署发布Golang应用程序的实现方法
2021/07/16 Golang
centos8安装nginx1.9.1的详细过程
2021/08/02 Servers