更新螺杆算法
This commit is contained in:
parent
39fb667756
commit
7f8c09addd
@ -184,9 +184,9 @@ int DetectPresenter::DetectScrew(
|
|||||||
LOG_DEBUG("before sx_hexHeadScrewMeasure \n");
|
LOG_DEBUG("before sx_hexHeadScrewMeasure \n");
|
||||||
|
|
||||||
std::vector<SSX_rodPoseInfo> screwInfo;
|
std::vector<SSX_rodPoseInfo> screwInfo;
|
||||||
sx_hexHeadScrewMeasure(
|
sx_hexHeadScrewMeasure_PCA(
|
||||||
xyzData,
|
xyzData,
|
||||||
isHorizonScan,
|
// isHorizonScan,
|
||||||
cornerParam,
|
cornerParam,
|
||||||
filterParam,
|
filterParam,
|
||||||
growParam,
|
growParam,
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#define SCREWPOSITION_APP_NAME "螺杆定位"
|
#define SCREWPOSITION_APP_NAME "螺杆定位"
|
||||||
#define SCREWPOSITION_VERSION_STRING "1.2.3"
|
#define SCREWPOSITION_VERSION_STRING "1.2.4"
|
||||||
#define SCREWPOSITION_BUILD_STRING "1"
|
#define SCREWPOSITION_BUILD_STRING "1"
|
||||||
#define SCREWPOSITION_FULL_VERSION_STRING "V" SCREWPOSITION_VERSION_STRING "_" SCREWPOSITION_BUILD_STRING
|
#define SCREWPOSITION_FULL_VERSION_STRING "V" SCREWPOSITION_VERSION_STRING "_" SCREWPOSITION_BUILD_STRING
|
||||||
|
|
||||||
|
|||||||
@ -1,3 +1,6 @@
|
|||||||
|
# 1.2.4 2026-06-10
|
||||||
|
1. 更新算法:螺杆的接口更新
|
||||||
|
|
||||||
# 1.2.3 2026-06-06
|
# 1.2.3 2026-06-06
|
||||||
1. 更新算法:ARM上检测结果为空
|
1. 更新算法:ARM上检测结果为空
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -84,6 +84,18 @@ SG_APISHARED_EXPORT void sx_hexHeadScrewMeasure(
|
|||||||
std::vector<SSX_rodPoseInfo>& screwInfo,
|
std::vector<SSX_rodPoseInfo>& screwInfo,
|
||||||
int* errCode);
|
int* errCode);
|
||||||
|
|
||||||
|
//PCA方法计算螺杆端部中心点位姿
|
||||||
|
//相对于sx_hexHeadScrewMeasure(),算法上(1)去除了水平段(2)使用PCA方法计算轴向
|
||||||
|
SG_APISHARED_EXPORT void sx_hexHeadScrewMeasure_PCA(
|
||||||
|
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
|
||||||
|
//bool isHorizonScan, //true:激光线平行槽道;false:激光线垂直槽道
|
||||||
|
const SSG_cornerParam cornerPara,
|
||||||
|
const SSG_outlierFilterParam filterParam,
|
||||||
|
const SSG_treeGrowParam growParam,
|
||||||
|
double rodDiameter,
|
||||||
|
std::vector<SSX_rodPoseInfo>& screwInfo,
|
||||||
|
int* errCode);
|
||||||
|
|
||||||
//计算定位盘中心点位姿
|
//计算定位盘中心点位姿
|
||||||
SG_APISHARED_EXPORT SSX_platePoseInfo sx_getLocationPlatePose(
|
SG_APISHARED_EXPORT SSX_platePoseInfo sx_getLocationPlatePose(
|
||||||
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
|
std::vector< std::vector<SVzNL3DPosition>>& scanLines,
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -471,9 +471,10 @@ void _outputRGBDScan_RGBD(
|
|||||||
sw << "{" << rgb.r << "," << rgb.g << "," << rgb.b << "," << size << " }" << std::endl;
|
sw << "{" << rgb.r << "," << rgb.g << "," << rgb.b << "," << size << " }" << std::endl;
|
||||||
|
|
||||||
//输出法向
|
//输出法向
|
||||||
|
rgb = { 250, 255, 0 };
|
||||||
size = 1;
|
size = 1;
|
||||||
double len1 = 30;
|
double len1 = 30;
|
||||||
double len2 = 200;
|
double len2 = 300;
|
||||||
lineIdx = 0;
|
lineIdx = 0;
|
||||||
for (int i = 0; i < objNum; i++)
|
for (int i = 0; i < objNum; i++)
|
||||||
{
|
{
|
||||||
@ -998,11 +999,11 @@ void screwTest(void)
|
|||||||
const char* ver = wd_rodAndBarDetectionVersion();
|
const char* ver = wd_rodAndBarDetectionVersion();
|
||||||
printf("ver:%s\n", ver);
|
printf("ver:%s\n", ver);
|
||||||
|
|
||||||
for (int grp = 9; grp < SCREW_TEST_GROUP; grp++)
|
for (int grp = 3; grp <= 6; grp++)
|
||||||
{
|
{
|
||||||
for (int fidx = fileIdx[grp].nMin; fidx <= fileIdx[grp].nMax; fidx++)
|
for (int fidx = fileIdx[grp].nMin; fidx <= fileIdx[grp].nMax; fidx++)
|
||||||
{
|
{
|
||||||
//fidx =3;
|
//fidx =2;
|
||||||
char _scan_file[256];
|
char _scan_file[256];
|
||||||
|
|
||||||
if(0 == grp)
|
if(0 == grp)
|
||||||
@ -1052,9 +1053,9 @@ void screwTest(void)
|
|||||||
bool isHorizonScan = true; //true:激光线平行槽道;false:激光线垂直槽道
|
bool isHorizonScan = true; //true:激光线平行槽道;false:激光线垂直槽道
|
||||||
int errCode = 0;
|
int errCode = 0;
|
||||||
std::vector<SSX_rodPoseInfo> screwInfo;
|
std::vector<SSX_rodPoseInfo> screwInfo;
|
||||||
sx_hexHeadScrewMeasure(
|
sx_hexHeadScrewMeasure_PCA(
|
||||||
scanLines,
|
scanLines,
|
||||||
isHorizonScan, //true:激光线平行槽道;false:激光线垂直槽道
|
//isHorizonScan, //true:激光线平行槽道;false:激光线垂直槽道
|
||||||
cornerParam,
|
cornerParam,
|
||||||
filterParam,
|
filterParam,
|
||||||
growParam,
|
growParam,
|
||||||
@ -1743,9 +1744,9 @@ typedef enum
|
|||||||
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
//ESG_testMode testMode = keSG_测试_配天螺杆定位;
|
ESG_testMode testMode = keSG_测试_配天螺杆定位;
|
||||||
//ESG_testMode testMode = keSG_测试_配天定位盘定位;
|
//ESG_testMode testMode = keSG_测试_配天定位盘定位;
|
||||||
ESG_testMode testMode = keSG_测试_配天新定位盘定位;
|
//ESG_testMode testMode = keSG_测试_配天新定位盘定位;
|
||||||
//ESG_testMode testMode = keSG_测试_棒材抓取;
|
//ESG_testMode testMode = keSG_测试_棒材抓取;
|
||||||
//ESG_testMode testMode = keSG_测试_筑裕钢筋焊缝定位;
|
//ESG_testMode testMode = keSG_测试_筑裕钢筋焊缝定位;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user