python圖像翻轉

準備跟着臺灣的一個機器學習課程好好學學python,連接在這http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.htmlhtml

該課程開始有一個做業,叫作HW0,實際上與機器學習無關,只是爲了驗證你們預備編程能力,它包括兩個部分,一個是讀.DAT格式的數據,一個是圖像翻轉python

 

這個做業我在windows下基於python2.7完成了,開發環境選擇的是pycharm4.0編程

先上第一個做業上代碼:windows

複製代碼
 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 和-1app

輸出數據的效果以下: 其實就是獲取了一列特徵,固然特徵通過排序,個人程序是升序dom

 

第二個做業上代碼:python2.7

複製代碼
 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的函數進行翻轉了機器學習

效果以下:ide

 

 

 
 

準備跟着臺灣的一個機器學習課程好好學學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的函數進行翻轉了

效果以下:

相關文章
相關標籤/搜索