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刷投票的脚本实现代码
Nov 08 Python
Python远程桌面协议RDPY安装使用介绍
Apr 15 Python
Python之os操作方法(详解)
Jun 15 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
如何利用Pyecharts可视化微信好友
Jul 04 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
解决Django后台ManyToManyField显示成Object的问题
Aug 09 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
Jan 13 Python
Pycharm同步远程服务器调试的方法步骤
Nov 04 Python
Python 循环读取数据内存不足的解决方案
May 25 Python
python中的plt.cm.Paired用法说明
May 31 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判断表单复选框选中状态完整例子
2014/06/24 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
php 实现进制相互转换
2016/04/07 PHP
Javascript 判断函数类型完美解决方案
2009/09/02 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
将json对象转换为字符串的方法
2014/02/20 Javascript
JS获取浏览器语言动态加载JS文件示例代码
2014/10/31 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
JavaScript中闭包之浅析解读(必看篇)
2016/08/25 Javascript
JS触摸事件、手势事件详解
2017/05/04 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
python简单实现获取当前时间
2016/08/27 Python
Python可变参数用法实例分析
2017/04/02 Python
Python 脚本拉取 Docker 镜像问题
2019/11/10 Python
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
2020/04/02 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
2020/09/28 Python
Python实现壁纸下载与轮换
2020/10/19 Python
详解python os.path.exists判断文件或文件夹是否存在
2020/11/16 Python
python os.rename实例用法详解
2020/12/06 Python
英国高端食品和葡萄酒超市:Waitrose
2016/08/23 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
人力资源总监工作说明
2014/03/03 职场文书
公司委托书怎么写
2014/08/02 职场文书
2015年质量月活动总结报告
2015/03/27 职场文书
老乡聚会通知
2015/04/23 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
简历中的自我评价怎么写呢?
2019/04/30 职场文书
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL