import sys
sys.path.remove('/opt/ros/kinetic/lib/python2.7/dist-packages')
import numpy as np
import time
from ctypes import *
import os
import cv2
import ctypes
ll = ctypes.cdll.LoadLibrary
lib = ll("./build/libpython2share.so")
count = 0
gps_path="xxx.txt"#
with open(gps_path,'r') as f:
all_latitude=[]
all_longtitude=[]
all_altitude=[]
for row in f.readlines():
row=row.split(' ')
print(len(row))
# print(row[2])
# print(row[4])
# print(row[6])
all_latitude.append(row[2])
all_longtitude.append(row[4])
all_altitude.append(row[6])
print(len(all_latitude))
print(len(all_longtitude))
print(len(all_altitude))
while True:
i = 0
for i<len(all_latitude):
value = lib.dump_(image.shape[0], image.shape[1], image_data,all_latitude[i],all_longtitude[i],all_altitude[i])
i+=1
lib.dump函数原型为int dump(int row_image, int col_image, void* block_data_image,double lat,double lon,double alt)
在进行参数传递时,发现dump函数里的后三个实参都是0,问题原因在于python与c++之间的参数传递上
在函数之前,输出all_latitude[i],all_longtitude[i],all_altitude[i]的值正确,但是类型为str,因此需要格式从str转化为float(python无double数据类型)
a=float(all_latitude[i])
value = lib.dump_(image.shape[0], image.shape[1], image_data,a,b,c)
#输出数据格式为float
将str类型转换为float类型后出现下面问题
Traceback (most recent call last):
File "test_Send.py", line 91, in <module>
value = lib.dump_(image.shape[0], image.shape[1], image_data,a,b,c)
ctypes.ArgumentError: argument 4: <class 'TypeError'>: Don't know how to convert parameter 4
原因是c里面用到单独的类型,需要将float转为c_float
因此
a=c_float(all_latitude[i])
b=c_float(all_longtitude[i])
c=c_float(all_altitude[i])
value = lib.dump_(image.shape[0], image.shape[1], image_data,a,b,c)
报错
Traceback (most recent call last):
File "test_Send.py", line 71, in <module>
a=c_float(all_latitude[i])
TypeError: a float is required
转换数据格式
将str格式先转换为float再转化为c_float,即可成功
a=float(all_latitude[i])
b=float(all_longtitude[i])
c=float(all_altitude[i])
d=c_float(a)
e=c_float(b)
f=c_float(c)
value = lib.dump_(image.shape[0], image.shape[1], image_data,d,e,f)
注意,float不能转化为c_double,否则值都会被初始化为0
Timers and Time Management时间参数的传入对于内核而言是很重要的。相对于事件驱动的函数,内核当中还有一大部分事件驱动的函数存在。他们中的有些事周期性的,比如说调度器的runqueue、或者刷新屏幕。They occur on a fixed scheduler,比如说每秒钟100次。内核调度其他的函数,比如说在将来的某一刻延迟disk I/O。又比如说,内核会在500毫秒...
缓冲区大小及限制IP数据报IPv4数据报最大大小为65535,包含40字节首部。IPv6数据报最大大小为65535+40。首部40字节,净载荷最大为65535。MTU(maximum transmission unit,最大传输单元)。IPv4要求的最小链路MTU为68字节,即20字节固定长度首部+最多40字节选项部分+最小8字节的数据。IPv6要求的最小链路MTU为1280字节...
原文网址:简介 本文介绍Linux的一些常用命令。包括:查看历史命令、目录、文件、输出、权限、版本信息。history作用显示历史命令示例history 10 //显示最近10条命令 参数 含义 n 打印最近n条命令 -c 清空当前历史命令(缓冲区); ...
主流图片格式介绍 收藏 现在的图片格式也多种多样。不过比较常用的格式就是那么几种,要知道到底是哪几种,只要打开WINDOWS自带的画图程序就知道了。”开始“--》”所有程序“--》”附件“--》”画图“。然后保存就会出现你要将文件保存为哪种格式的图片文件。包括:BMP(1bit,4bit,8bit,24bit),JPEG,GIF,TIF,PNG. 下面就介绍一下这些图片格式:常见图片
正则表达式基础提取字符串语法说明例可匹配字符串.匹配除了换行符”\n”以外的任意字符a.bacb、adb、a2b、a~b\转义,将转义字符后面的一个字符改变成原来的意思a[b\.\\]cabc、a.c、a\c[]匹配括号内的任意字符a[b,c,d,e]fabd、acf、adf、aef预定义字符语法说明例可匹配字符串^以说明字符串开始^123123abc、123321、123zxc$以说明字符串结尾...
QT开发QGIS的配置与Visual Studio 2015开发QGIS的配置步骤相似。最大不同在于:Visual Studio 2015在设置中配置,QT在其pro文件中配置。Qt和QGIS安装见这里。1. 创建Qt项目根据自己的需求创建新Qt项目并运行生成exe文件。2. 修改pro文件将自己的pro文件改为如下内容,其中所有目录都需要根据自己的实际情况进行修改。# 增加xml和3dcore(3d显示)QT += core gui xml 3dcoregreaterThan
【IT168 技术】HTML 5中的视频和音频中有不少核心的事件,其中有的比较容易理解,基本能从字面就解析了,比如“play”事件就很好理解。而其他有的事件则需要花费点心思,特别是“progress”事件。因此,在本文中,将带领读者研究HTML 5视频和音频中重要的事件,探究这些事件是应该在什么时候使用以及其中的重要相关属性。我们也将看下这些事件在当今不同浏览器中的差异。为了本文的测试,使用的浏览
来源|艾瑞深校友会网编辑 |学术君2022年1月25日,全国第三方大学评价机构艾瑞深校友会网(Cuaa.Net)正式发布《2022校友会中国大学排名—高考志愿填报指南》,连续第20年...
#include #include #include #include #include #include #include #include #include #include #include #define GLOBALMEM_SIZE 0X1000 //全局内存大小#define MEM_CLEAR 0x1 //清
旧项目配置SVN与winSever服务器SVN钩子配置小记SVN是Subversion的简称,是一个开放源代码的版本控制系统,用于多个人共同开发同一个项目,共用资源的目的。昨天接手一个未配SVN的旧项目,应总工程师要求要配置SVN给同事共同开发,之前用的都已经是配置好的直接下载本地的SVN,所以第一次配置有一些问题和注意在此做个小记旧项目配置SVN与winSever服务器SVN钩子配置
PS:经过调试和查找资料发现,OPTIONS是状态类型查询,即向服务器提交信息后不返回任何信息,只将执行状态(200状态)通知客户端,所以本文修改后对数据的返回不起作用,使用IE/火狐/谷歌三种浏览器测试时,发现IE上使用jquery ajax能支持delete与put正常提交,而其余两种都不行,所以想来想去,还是换一种方式提交,具体请看下一篇博文这两天在用python的bottle框架开发后台管...
'''Description: nlp之TF-IDF学习Autor: 365JHWZGoDate: 2021-11-16 14:48:45LastEditors: 365JHWZGoLastEditTime: 2021-11-16 18:27:02'''import numpy as npfrom collections import Counterimport itertoolsfrom visual import show_tfidfdocs = [ "Born on O