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的函数进行翻转了

效果如下:

时间: 2024-10-13 00:46:33

python图像翻转的相关文章

code第一部分数组:第十五题 矩阵翻转(图像翻转)

code第一部分数组:第十五题 矩阵翻转(图像翻转) 首先想到,纯模拟,从外到内一圈一圈的转,但这个方法太慢.如下图,首先沿着副对角线翻转一次,然后沿着水平中线翻转一次. 源代码 #include <iostream> #include <vector> using namespace std; //引用类型形参 void swap(int &n,int &m) { int temp=n; n=m; m=temp; } //指针类型形参 void swap1(int

Python图像resize前后颜色不一致问题

今天帮师姐解决一个bug,测试了Python图像resize前后颜色不一致问题. 代码片段执行的功能:图像指定倍数超分辨率,输入为[0-1] float型数据,输出为格式不限的图像 bug:输入图像与输出图像颜色不一致 一.把产生bug的功能片段做分离测试: 1 import h5py 2 import numpy as np 3 import matplotlib.pyplot as plt 4 from PIL import Image 5 from scipy import misc 6

python图像数组操作与灰度变换

Python图像数组操作与灰度变换 使用python以及numpy通过直接操作图像数组完成一系列基本的图像处理 numpy简介: NumPy是一个非常有名的 Python 科学计算工具包,其中包含了大量有用的工具,比如数组对象(用来表示向量.矩阵.图像等)以及线性代数函数. 数组对象可以实现数组中重要的操作,比如矩阵乘积.转置.解方程系统.向量乘积和归一化.这为图像变形.对变化进行建模.图像分类.图像聚类等提供了基础. 在上一篇python基本图像操作中,当载入图像时,通过调用 array()

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

在opencv2中,flip函数用来进行图片的翻转,包括水平翻转,垂直翻转,以及水平垂直翻转. void flip(const Mat& src, Mat& dst, int flipCode); 参数: src:原图像. dst:翻转后的图像 flipCode:翻转代码,int型.0代表垂直翻转,1代表水平翻转,-1代表垂直和水平翻转. flip(src,dst1,0); //垂直翻转 flip(src,dst2,1); //水平翻转 flip(src,dst3,-1); //垂直和水平

python 图像归一化作业代码代编程代写图python作业

python 图像归一化作业代码代编程代写图python作业from PIL import Image import os import sys import numpy as np import time from sklearn import svm # 获取指定路径下的所有 .png 文件 def get_file_list(path): return [os.path.join(path, f) for f in os.listdir(path) if f.endswith(".png&

图像预处理之图像翻转、图像色彩调整

图像翻转  tf.image.flip_up_down:上下翻转 tf.image.flip_left_right:左右翻转 tf.image.transpose_image:对角线翻转 除此之外,TensorFlow还提供了随机翻转的函数,保证了样本的样本的随机性: tf.image.random_flip_up_down:随机上下翻转图片 tf.image.random_flip_left_right:随机左右翻转图片 图像色彩调整  亮度: tf.image.adjust_brightne

Python图像全屏显示

需要在嵌入式设备上全屏显示图像,使用pil显示图像时,只能通过系统的图像浏览器显示.所以使用Python自带的tkinter import Tkinter as tk   这句在Python3中已经改成了  import tkinter as tk 1 top = Tk() #导入tk模块 2 from PIL import Image, ImageTk 3 image = Image.open("lenna.jpg") 4 photo = ImageTk.PhotoImage(ima

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

前几天弄了下django的图片上传,上传之后还需要做些简单的处理,python中PIL模块就是专门用来做这个事情的. 于是照葫芦画瓢做了几个常用图片操作,在这里记录下,以便备用. 这里有个字体文件,大家可以在自己的系统中选取一个,我这打包放在网盘中  下载 一 图样 原始图片 操作一: 缩略图(通常不用这个方式,因为图片质量损坏太大) 操作二 : 旋转图片中的某一部分 操作三: 给图片添加一个图片水印, 2张图层合并       操作四: 给图片添加文字水印,这个用的比较多, 我这里弄了个白色通

python 图像的离散傅立叶变换

图像(MxN)的二维离散傅立叶变换可以将图像由空间域变换到频域中去,空间域中用x,y来表示空间坐标,频域由u,v来表示频率,二维离散傅立叶变换的公式如下: 在python中,numpy库的fft模块有实现好了的二维离散傅立叶变换函数,函数是fft2,输入一张灰度图,输出经过二维离散傅立叶变换后的结果,但是具体实现并不是直接用上述公式,而是用快速傅立叶变换.结果需要通过使用abs求绝对值才可以进行可视化,但是视觉效果并不理想,因为傅立叶频谱范围很大,所以要用log对数变换来改善视觉效果. 另外,图