國旗識別作業用到python的知識點整理
Datafeame
1.新建
DataFrame(np.random.randn(9))
2.合併
pd.merge(df1,all_color_hist,left_index=True,right_index=True)
3.刪除列
merge1.drop(['dss'],axis=1)
4.索引元素
merge1.loc[i][0]
5.從陣列獲得值
all_color_proportion[0]=color_proportion
6.儲存
pd.to_csv('../3_data/all_feature.csv',header=None)
7.讀取
pd.read_csv('../3_data/all_feature.csv',header=None)
opencv
1.讀取文中名的圖片
def cv_imread(file_path):
cv_img=cv2.imdecode(np.fromfile(file_path,dtype=np.uint8),-1)
return cv_img
2.matplotlib和opencv的RGB是反的
matplotlib顯示順序是R,G,B;opencv的順序是B,G,R。
3.獲得圖片的高和寬
img_high=image.shape[0]
img_width=image.shape[1]
4.讀取畫素點
先行,後列。和x,y軸不同
image[img_high,img_width]
5.獲取一部分割槽域資料
image=image[a:b,c:d]
6.將RGB轉換為HSV
HSV=cv2.cvtColor(image,cv2.COLOR_BGR2HSV)
7.製作掩模
第一個變數中的元素在第二個和第三個元素之間就返回白,不然返回黑
mask=cv2.inRange(HSV,lower,upper)
8.獲得直方圖
hist_mask = cv2.calcHist([mask],[0],None,[2],[0,256])
儲存txt
doc=open('../杜勝盛.txt','w',encoding='utf-8')
print(filename[:-4],',',Ypred,file=doc)
print(filename,merge1.loc[i][0],file=doc)
doc.close()