准备跟着台湾的一个机器学习课程好好学学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图像翻转的更多相关文章

  1. 【opencv基础】图像翻转cv::flip详解

    前言 在opencv中cv::flip函数用于图像翻转和镜像变换. 具体调用形式 void cv::flip( cv::InputArray src, // 输入图像 cv::OutputArray ...

  2. 【Tool】Augmentor和imgaug——python图像数据增强库

    Augmentor和imgaug--python图像数据增强库 Tags: ComputerVision Python 介绍两个图像增强库:Augmentor和imgaug,Augmentor使用比较 ...

  3. python图像、视频转字符画

    python图像转字符画需要用到matplotlib.pyplot库,视频转字符画需要用到opencv库,这里的代码基于python 3.5 图像转字符画需要先将图像转为灰度图,转灰度图的公式是 gr ...

  4. OpenCV计算机视觉学习(11)——图像空间几何变换(图像缩放,图像旋转,图像翻转,图像平移,仿射变换,镜像变换)

    如果需要处理的原图及代码,请移步小编的GitHub地址 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/ComputerVisionPractice 图像 ...

  5. [Python] 图像简单处理(PIL or Pillow)

    前几天弄了下django的图片上传,上传之后还需要做些简单的处理,python中PIL模块就是专门用来做这个事情的. 于是照葫芦画瓢做了几个常用图片操作,在这里记录下,以便备用. 这里有个字体文件,大 ...

  6. opencv2函数学习之flip:实现图像翻转

    在opencv2中,flip函数用来进行图片的翻转,包括水平翻转,垂直翻转,以及水平垂直翻转. void flip(const Mat& src, Mat& dst, int flip ...

  7. Python图像全屏显示

    需要在嵌入式设备上全屏显示图像,使用pil显示图像时,只能通过系统的图像浏览器显示.所以使用Python自带的tkinter import Tkinter as tk   这句在Python3中已经改 ...

  8. 【Python图像特征的音乐序列生成】使用Python生成简单的MIDI文件

    这个全新的Python音乐创作系列,将会不定期更新.写作这个系列的初衷,是为了做一个项目<基于图像特征的音乐序列生成模型>,实时地提取照片特征,进行神经网络处理,生成一段音乐. 千里之行, ...

  9. python 图像的离散傅立叶变换

    图像(MxN)的二维离散傅立叶变换可以将图像由空间域变换到频域中去,空间域中用x,y来表示空间坐标,频域由u,v来表示频率,二维离散傅立叶变换的公式如下: 在python中,numpy库的fft模块有 ...

随机推荐

  1. 如何用excel统计调查问卷

    如何用excel统计调查问卷 有些人可能经常要对调查问卷进行统计,使用手写的方法(就是在纸上写正字的方法)虽然很方便,不过不方便在一定条件下进行统计,如在男士的条件下,使用诺基亚的手机有多少人.而用e ...

  2. 线程池_ThreadPool

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; ...

  3. Java lambda尝鲜

    最近Java 11都出来了,java 8 的很多新特性还没用过,比如接口可以有方法体啦,default默认方法. 当然最大的特性就是支持函数式编程了.Java 8 提供了lambda表达式和方法引用来 ...

  4. Startup里面的一些用法

    using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; usi ...

  5. <转>http协议 文件下载原理详解

    最近研究了一下关于文件下载的相关内容,觉得还是写些东西记下来比较好.起初只是想研究研究,但后来发现写个可重用性比较高的模块还是很有必要的,我想这也是大多数开发人员的习惯吧. 对于HTTP协议,向服务器 ...

  6. 18-6-calsslist

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. java_缓冲流(字节输入流)

    /** * java.iko.BufferedInputStream extends InputStream * BufferedInputStream:字节缓冲输入流 * 构造方法: * Buffe ...

  8. Python学习之文件操作(二)

    CSV文件处理 在Python中处理CSV文件可以使用模块csv.有关csv模块的官方资料看这里. 1 读取csv文件 csv.reader(csvfile, dialect='excel', **f ...

  9. 关于java 线程的停止同时用 interrupt 和 join 的作用

    /** * @FileName: ThreadTest.java * @Description: * @Author : xingchong * @CreateTime: Sep 22, 2018 1 ...

  10. (转)nginx配置location总结及rewrite规则写法

    注: rewrite 只能对域名后边的除去传递的参数外的字符串起作用,并且要写全域名后面的部分,如: http://i.com:9090/php/midou/admin.php/index/login ...