flows = cv2.calcOpticalFlowHS(old_gray, frame_gray, **hs_params) AttributeError: module 'cv2' has no attribute 'calcOpticalFlowHS'
时间: 2024-01-08 20:05:01 浏览: 29
这个错误信息意味着cv2模块中没有calcOpticalFlowHS函数。这可能是因为你的OpenCV版本太老了,或者你的安装没有包含这个函数的库。
你可以尝试更新OpenCV到最新版本,或者使用其他的光流估计算法,例如cv2.calcOpticalFlowFarneback()。如果你确信你的OpenCV版本是最新的,那么你可以尝试重新安装OpenCV并确保安装了optflow模块。
相关问题
Failed to run task cinder.scheduler.flows.create_volume.ScheduleCreateVolumeTask;volume:create: No valid backend was found
这个错误通常是由于没有可用的存储后端导致的。请确保您的 cinder-volume 服务已正确配置并已连接到至少一个可用的存储后端。您可以通过运行 `cinder service-list` 命令来检查 cinder-volume 服务和存储后端的状态。您还可以在 `/etc/cinder/cinder.conf` 文件中检查存储后端的配置是否正确。如果您使用的是多个存储后端,请确保在创建卷时指定了正确的后端。
def load_file(path): data = pd.read_csv(path, sep=',') is_benign = data[' Label'] == 'BENIGN' flows_normal = data[is_benign] flows_abnormal_full = data[~is_benign] sizeDownSample = len(flows_normal) * mult if (len(flows_normal) * mult) < (len(flows_abnorm
al_full)):
flows_abnormal = flows_abnormal_full.sample(n=sizeDownSample)
else:
flows_abnormal = flows_abnormal_full
return pd.concat([flows_normal, flows_abnormal])
这段代码是用来从一个 csv 文件中读取数据,并且对数据进行处理,主要是把正常的数据和异常的数据按照一定比例进行采样,最终返回处理后的数据集。
具体来说,参数 path 是 csv 文件所在路径,mult 是采样倍数,即将正常流量的数量乘以 mult 作为采样后的异常流量数量。
代码首先用 pandas 库的 read_csv 函数读取 csv 文件,并且通过判断每条流量的标签是否为 BENIGN 来区分正常流量和异常流量。
然后根据采样倍数 mult 和正常流量数量计算采样后的异常流量数量 sizeDownSample。如果采样后的异常流量数量小于原始异常流量数量,则使用 sample 函数进行采样,否则直接使用全部异常流量。
最后使用 concat 函数将正常流量和异常流量合并成一个数据集并返回。