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 相关文章推荐
Python常见数据结构详解
Jul 24 Python
Python中使用Inotify监控文件实例
Feb 14 Python
python对url格式解析的方法
May 13 Python
Python爬虫爬取美剧网站的实现代码
Sep 03 Python
numpy.transpose对三维数组的转置方法
Apr 17 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python pyheatmap包绘制热力图
Nov 09 Python
教你一步步利用python实现贪吃蛇游戏
Jun 27 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
Aug 12 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
Python系统公网私网流量监控实现流程
Nov 23 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
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
php header示例代码(推荐)
2010/09/08 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
计算php页面运行时间的函数介绍
2013/07/01 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
2013/04/12 Javascript
7个JS基础知识总结
2014/03/05 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
通过url查找a元素并点击
2014/04/09 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
js删除局部变量的实现方法
2016/06/25 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
Node.js的Mongodb使用实例
2016/12/30 Javascript
AngularJS页面传参的5种方式
2017/04/01 Javascript
微信小程序使用Promise简化回调
2018/02/06 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
python实现爬取千万淘宝商品的方法
2015/06/30 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
2017/05/08 Python
Python IDLE清空窗口的实例
2018/06/25 Python
python多个模块py文件的数据共享实例
2019/01/11 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
vscode调试django项目的方法
2020/08/06 Python
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
职专应届生求职信
2013/11/16 职场文书
党员组织关系介绍信
2014/02/13 职场文书
家长会主持词开场白
2014/03/18 职场文书
2015年调度员工作总结
2015/04/30 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书