python图像翻转
准备跟着台湾的一个机器学习课程好好学学python,链接在这http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html
该课程开始有一个作业,叫做HW0,实际上与机器学习无关,只是为了验证大家预备编程能力,它包括两个部分,一个是读.DAT格式的数据,一个是图像翻转

这个作业我在windows下基于python2.7完成了,开发环境选择的是pycharm4.0
先上第一个作业上代码:

1 # -*- coding:UTF-8 -*-
2 __author__ = 'Administrator'
3
4 import csv
5 import cv2
6 import sys
7 filename = 'F:/台湾机器学习/hw0_data.dat'
8 ufilename = unicode(filename , "utf8") #这一块主要是因为汉字路径 也就是python调用open打开文件时,其路径必须要转换为utf-8格式
9
10 list=[]
11 row=0
12 colum=0;
13 with open(ufilename, 'r') as f:
14 data = f.readlines() #dat中所有字符串读入data
15 for line in data:
16 odom = line.split() #将单个数据分隔开存好
17 colum=len(odom)
18 numbers_float = map(float, odom) #转化为浮点数
19 list.append(numbers_float)
20 # print numbers_float
21 row=row+1
22
23 print("原始数据是:{0}行 :{1}列 的数据".format(row, colum))
24 index = int(raw_input("请输入要排序的列号(范围为1到 {0}):\n".format(colum-1)))
25 resultlist =[]
26 if index >0 and index < colum+1 :
27 list.sort(key=lambda x: x[index-1], reverse=False) #排序 按照第infex个 顺序排列
28 print(list)
29 print(list[0])
30 for i in range(row):
31 print(list[i][index-1])
32 resultlist.append(list[i][index-1])
33 csvfile = file('E:\\csvtest.csv', 'wb') #最终的数据保存为一行,以逗号隔开,所以保存为csv格式了
34 writer = csv.writer(csvfile)
35 writer.writerow(resultlist)
36 csvfile.close()
37 else:
38 print '输入错误,请重新输出序列'

输入数据的效果如下,一共500行 11列,很容易看出前10列是特征,最后一列是标签: +1 和-1

输出数据的效果如下: 其实就是获取了一列特征,当然特征经过排序,我的程序是升序

第二个作业上代码:

1 # -*- coding:UTF-8 -*-
2 __author__ = 'Administrator'
3
4 import csv
5 import cv2
6 import sys
7
8
9
10 imagename = 'F:/台湾机器学习/Lena.png'
11 img = cv2.imread(imagename.decode('utf-8').encode('gbk')) # 主要是汉字路径比较坑!
12 cv2.namedWindow("Image")
13 cv2.imshow("Image", img)
14 cv2.flip(img,-1,img)
15 cv2.namedWindow("NewImage")
16 cv2.imshow("NewImage", img)
17 cv2.imwrite("e:\\newlena.png",img)
18 cv2.waitKey(0)

这个就更加简单了 ,直接利用opencv的函数进行翻转了
效果如下:

python图像翻转的更多相关文章
- 【opencv基础】图像翻转cv::flip详解
前言 在opencv中cv::flip函数用于图像翻转和镜像变换. 具体调用形式 void cv::flip( cv::InputArray src, // 输入图像 cv::OutputArray ...
- 【Tool】Augmentor和imgaug——python图像数据增强库
Augmentor和imgaug--python图像数据增强库 Tags: ComputerVision Python 介绍两个图像增强库:Augmentor和imgaug,Augmentor使用比较 ...
- python图像、视频转字符画
python图像转字符画需要用到matplotlib.pyplot库,视频转字符画需要用到opencv库,这里的代码基于python 3.5 图像转字符画需要先将图像转为灰度图,转灰度图的公式是 gr ...
- OpenCV计算机视觉学习(11)——图像空间几何变换(图像缩放,图像旋转,图像翻转,图像平移,仿射变换,镜像变换)
如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 图像 ...
- [Python] 图像简单处理(PIL or Pillow)
前几天弄了下django的图片上传,上传之后还需要做些简单的处理,python中PIL模块就是专门用来做这个事情的. 于是照葫芦画瓢做了几个常用图片操作,在这里记录下,以便备用. 这里有个字体文件,大 ...
- opencv2函数学习之flip:实现图像翻转
在opencv2中,flip函数用来进行图片的翻转,包括水平翻转,垂直翻转,以及水平垂直翻转. void flip(const Mat& src, Mat& dst, int flip ...
- Python图像全屏显示
需要在嵌入式设备上全屏显示图像,使用pil显示图像时,只能通过系统的图像浏览器显示.所以使用Python自带的tkinter import Tkinter as tk 这句在Python3中已经改 ...
- 【Python图像特征的音乐序列生成】使用Python生成简单的MIDI文件
这个全新的Python音乐创作系列,将会不定期更新.写作这个系列的初衷,是为了做一个项目<基于图像特征的音乐序列生成模型>,实时地提取照片特征,进行神经网络处理,生成一段音乐. 千里之行, ...
- python 图像的离散傅立叶变换
图像(MxN)的二维离散傅立叶变换可以将图像由空间域变换到频域中去,空间域中用x,y来表示空间坐标,频域由u,v来表示频率,二维离散傅立叶变换的公式如下: 在python中,numpy库的fft模块有 ...
随机推荐
- iconfont 在vue项目中的应用(icon-component组件)
前言:上一篇记录了iconfont的三种基本使用方法. 在Vue中应该如何使用呐?Vue中的组件化思想很明确,要提高组件的复用率,增强项目的可维护性,扩展性.以下是采用icontfont的使用方式之s ...
- spring boot问题记录(持续更新)
1.springboot v2.1.1.RELEASE版本中server.context-path=/demo不起作用? 路径变了:server.servlet.context-path=/dem ...
- Python3升级3.6强力Django+杀手级xadmin打造在线教育平台✍✍✍
Python3升级3.6强力Django+杀手级xadmin打造在线教育平台 教程 Xadmin安装方法: settings.py 的配置: users App 下的 adminx.py 的配置:
- NEO4J 图数据库使用APOC数据导入
Neo4j 数据导入 一.安装与部署 直接在官网下载安装包安装,解压即可. 二.下载相应的jar包 apoc 包下载链接: https://github.com/neo4j-contrib/ne ...
- javaweb中静态文件的处理方法
方案一:激活Tomcat的defaultServlet来处理静态文件 在web.xml中添加: <servlet-mapping> <servlet-name>default& ...
- easyui combotree的使用示例
一.View: 1.定义输入控件 <input id="ParentId" name="ParentId"> 2.绑定combotree $('#P ...
- LeetCode 8.字符串转换整数 (atoi)(Python3)
题目: 请你来实现一个 atoi 函数,使其能将字符串转换成整数. 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止. 当我们寻找到的第一个非空字符为正或者负号时,则将该 ...
- windows10 家庭版 无法远程2012的解决
windows 10安装最新补丁后无法远程windows server 2008.2012服务器 报错信息如下:出现身份验证错误,要求的函数不受支持 可能是由于CredSSP加密Oracle修正. ...
- jmeter做bbs作业时提示404错误
在用jemter做bbs作业时候,注册成功后会跳转到主页,在写主页的脚本的时候,将fiddler抓到的url复制到路径下方“/bbs/forum.php”,但是第一次复制的时候在/bbs/forum. ...
- python下使用ElasticSearch
一 什么是 ElasticSearch Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elas ...