#-*- coding:utf-8 -*- # 计算点到标准轮廓距离的极性 import pandas as pd import numpy as np import matplotlib.pyplot as plt import cv2 data = pd.read_csv("D:\\result.csv") standard = pd.read_csv("D:\\standard.csv") dataArray = np.array(data)[:,0:2:1]*1000 standardArray = np.array(standard)*1000 polarity = np.array([0]) for index in range(0,dataArray.shape[0],1): temp = cv2.pointPolygonTest(standardArray.astype(int),tuple(dataArray[index,:]),False) polarity =np.r_[polarity,temp] polarity = np.delete(polarity.reshape(1,-1).transpose(),0,0) polarityDistance = np.array(data)[:,2] * polarity.reshape(1,-1) newData = np.array(data)[:,0:2:1] newData = np.c_[newData,polarityDistance.transpose()] polarityData = pd.DataFrame(newData).sort_values(by=0) polarityData.to_csv("D:\\polarity.csv",header = False, index = False)