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模块有 ...
随机推荐
- redis服务后台运行
文章目录 进入redis的安装目录 查看目录结构 进入src目录,普通启动效果 编辑redis服务目录下的redis.conf 进入src目录,执行后台运行的命令 检查服务是否开启 进入redis的安 ...
- MME、PGW、SGW和PCRF的介绍
1.简介原文连接:https://blog.csdn.net/Rong_Toa/article/details/94983607 用户面和控制面板分离2.什么是HSS?HSS有什么主要功能?HSS与H ...
- 网络安全系列 之 MySQL数据库安全
目录 数据库安全使用规则 1. 数据库版本及运行要求 2. 通用加固项 3. 用户权限 4. 连接设置 5. ssl安全认证 6. 涉及操作系统相关配置 6.1 系统资源 6.2 文件权限 数据库安全 ...
- 19.SimLogin_case03
# 模拟登录GitHub import requests from lxml import etree class Login(): def __init__(self): self.headers ...
- iOS开发系列-GCD
概述 GCD是苹果公司为多核的并行运算提出的解决方案.全称是Grand Central Dospatch.纯C语言,提供了非常多强大的函数. GCD自动管理线程的声明周期(创建线程.调度任务.销毁线程 ...
- [sonata admin] argument "$code" of method
2. CREATING AN ADMIN 按照这里,在 AppBundle中的Controller创建了 CategoryAdmin 类,当运行 php bin/console server:star ...
- eclipse中启动tomcat之后,项目一直重复部署导致内存报警!!!
项目环境:jdk1.8+tomcat8.0; 出现该问题的原因:目前还没有确定,网友有很多的说法. 但是我在部署其中一个项目时出现此情况,在同样的环境下部署另外一个项目未出现此情况. 其中的一种解决方 ...
- JavaWeb中请求转发和请求重定向的区别
针对于JavaWeb中请求与重定向的一个cheatsheep: 1.转发 1)完成一次转发,用户浏览器发送一次请求 2)转发之后,浏览器URL地址栏不改变(服务器帮忙完成) 3)请求域中数据不丢失 4 ...
- leetcode146周赛-5130-等价多米诺骨牌对的数量
题目描述: 方法一: class Solution(object): def numEquivDominoPairs(self, dominoes): """ :type ...
- CSS或HTML如何实现文字下面加点?
就像word里文字加着重号一样,在字的下面加一个点,用CSS怎么做?注意,我说的是下面加点,不是文字加粗或倾斜,请不要回答<strong>或<em>之类的. 把要着重加点的文字 ...