#-*- 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)
|